Winsock gibt beim Herstellen einer Verbindung nur zu localhost 10061 zurück

Ich verstehe nicht, was passiert. Wenn ich einen Socket zu einem anderen Ort als localhost erstelle (entweder "localhost", "127.0.0.1" oder die externe IP-Adresse des Computers), funktioniert dies einwandfrei. Wenn ich einen Socket an eine Adresse erzeuge, ohne dass etwas in diesem Port lauscht, erhalte ich eine 10060 (Timeout), aber keine 10061, was Sinn macht. Warum wird mir die Verbindung verweigert, wenn ich zu localhost gehe? Ich habe versucht, die Firewall zu deaktivieren, nur für den Fall, dass es Probleme gibt, aber das ist es nicht

Ich mache all die WSA-Initialisierungssachen davor.

<code>    _socketToServer = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    if(_socketToServer == -1){
    return false;
    }

   p_int = (int*)malloc(sizeof(int));
   *p_int = 1;
   if( (setsockopt(_socketToServer, SOL_SOCKET, SO_REUSEADDR, 
       (char*)p_int, sizeof(int)) == -1 )||
       (setsockopt(_socketToServer, SOL_SOCKET, SO_KEEPALIVE, (char*)p_int,
               sizeof(int)) == -1 ) ){
        free(p_int);
        return false;
   }
   free(p_int);


   struct sockaddr_in my_addr;

   my_addr.sin_family = AF_INET ;
   my_addr.sin_port = htons(_serverPort);

   memset(&(my_addr.sin_zero), 0, 8);
   my_addr.sin_addr.s_addr = inet_addr(_serverIP);


   if( connect( _socketToServer, (struct sockaddr*)&my_addr, sizeof(my_addr)) 
        == SOCKET_ERROR ){
    DWORD error = GetLastError(); //here is where I get the 10061
    return false;
}
</code>

Irgendwelche Ideen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage