UDP,unergründlicher Fehler



  • Wo is hier der Fehler:

    #include <windows.h>
    
    #include <winsock2.h>
    
    #include <stdio.h>
    
    #include <iostream.h>
    
    #include <string>
    
    //Prototypen
    
    int startWinsock(void);
    int main()
    
    {
    
     SOCKET s;
     char c;
     long rc;
     SOCKADDR_IN addr;
     char buf[256];
     string nachricht,ip;
     int port;
    
      rc=startWinsock();
    
      if(rc!=0)
    
      {
    
        printf("Fehler: startWinsock, fehler code: %d\n",rc);
    
        return 1;
    
      }
    
      else
    
      {
    
        printf("Winsock gestartet!\n");
    
      }
    
    s=socket(AF_INET,SOCK_STREAM,0);
    
    if(s==INVALID_SOCKET)
    
    {
    
      printf("Fehler: Der Socket konnte nicht erstellt werden, fehler code: %d\n",WSAGetLastError());
    
      return 1;
    
    }
    
    else
    
    {
    
      printf("Socket erstellt!\n");
    
    }
    
    cout << "Port und IP: \n"
    cin >> port >> ip  
    
    addr.sin_family=AF_INET;
    
    addr.sin_port=htons(port);
    
    addr.sin_addr=inet_addr(ip); 
    
    getline(cin,nachricht);  
    
    strcpy(buf,nachricht);  
    
    rc=sendto(s,buf,strlen(buf),0,(SOCKADDR*)&addr,sizeof(SOCKADDR_IN));
    
    if(rc==SOCKET_ERROR){ 
    printf("Fehler: sendto, fehler code: %d\n",WSAGetLastError());  
    return 1;
    }
    
    else{ 
     printf("%d Bytes gesendet!\n", rc);
    }
    
      cin >> c;  
      return 0;
    
    }
    
    int startWinsock(void)
    
    {
    
      WSADATA wsa;
    
      return WSAStartup(MAKEWORD(2,0),&wsa);
    
    }
    

    THX,
    Xalon



  • Xalon schrieb:

    s=socket(AF_INET,SOCK_STREAM,0);

    das ist tcp. udp ist SOCK_DGRAM



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • ...und es schadet auch nicht dabei zu schreiben, wie denn der "unergründliche fehler" sich äußert 😉



  • ok^^

    aber ez kommt der gleiche fehler,die zeile

    #include "backward_warning.h"
    

    wird in der datei IOSTREAM.h makiert,wo is der fehler jetzt?

    #include <windows.h>
    
    #include <winsock2.h>
    
    #include <stdio.h>
    
    #include <iostream.h>
    
    #include <string>
    
    //Prototypen
    
    int startWinsock(void);
    int main()
    
    {
    
     SOCKET s;
     char c;
     long rc;
     SOCKADDR_IN addr;
     char buf[256];
     string nachricht,ip;
     int port;
    
      rc=startWinsock();
    
      if(rc!=0)
    
      {
    
        printf("Fehler: startWinsock, fehler code: %d\n",rc);
    
        return 1;
    
      }
    
      else
    
      {
    
        printf("Winsock gestartet!\n");
    
      }
    
    s=socket(AF_INET,SOCK_DGRAM ,0);
    
    if(s==INVALID_SOCKET)
    
    {
    
      printf("Fehler: Der Socket konnte nicht erstellt werden, fehler code: %d\n",WSAGetLastError());
    
      return 1;
    
    }
    
    else
    
    {
    
      printf("Socket erstellt!\n");
    
    }
    
    cout << "Port und IP: \n"
    cin >> port >> ip  
    
    addr.sin_family=AF_INET;
    
    addr.sin_port=htons(port);
    
    addr.sin_addr=inet_addr(ip); 
    
    getline(cin,nachricht);  
    
    strcpy(buf,nachricht);  
    
    rc=sendto(s,buf,strlen(buf),0,(SOCKADDR*)&addr,sizeof(SOCKADDR_IN));
    
    if(rc==SOCKET_ERROR){ 
    printf("Fehler: sendto, fehler code: %d\n",WSAGetLastError());  
    return 1;
    }
    
    else{ 
     printf("%d Bytes gesendet!\n", rc);
    }
    
      cin >> c;  
      return 0;
    
    }
    
    int startWinsock(void)
    
    {
    
      WSADATA wsa;
    
      return WSAStartup(MAKEWORD(2,0),&wsa);
    
    }
    


  • Hmm, mir ist immer noch nich klar was der Fehler ist...
    ...der wird doch nich einfach irgendwas markieren - Da muss doch ne Meldung ausgespuckt werden ?!



  • sry,natürlich kommt ne Meldung:

    Fehler

    THX,
    Xalon




Anmelden zum Antworten