Seite 1 von 1

Frage zu connect

Verfasst: 17.01.2006 00:30
von MVXA
Hallo!
Ich habe mal eine kurze Frage, da ich nicht ganz den Sinn verstehe. Ich
möchte mich über TCP mit einem Server verbinden. Funktioniert alles
sehr gut. Ich bekomme das Event FD_CONNECT, etc. Allerdings gibt mir
die Funktion connect_() immer ein #SOCKET_ERROR zurück, obwohl die
Verbindung zum Server steht o_O. Kann mir das jemand erklären? Die
Struktur wird auch korrekt gefüllt:

Code: Alles auswählen

                    RtlFillMemory_(*pZiel, SizeOf(SOCKADDR_IN), $00)
                
                    *pZiel\sin_family = #AF_INET
                    *pZiel\sin_port = htons_(*this\lServerPort)
                    *pZiel\sin_addr = inet_addr_(*this\sServerHost)

                    if SCK_connect(*this\lSocket, *pZiel, SizeOf(SOCKADDR)) = #SOCKET_ERROR
WSAGetLastError_() gibt auch 0 zurück.

Verfasst: 18.01.2006 14:37
von HeX0R
Es muss:

Code: Alles auswählen

if SCK_connect(*this\lSocket, *pZiel, SizeOf(SOCKADDR_IN))
heissen!

Verfasst: 18.01.2006 17:41
von MVXA
Dann tritt aber der IF Block dann in Kraft, wenn ein Fehler passiert ist. Das
möchte ich nicht.

Aber das Problem hat sich auf mysteriöse Weise selbst erledigt :?. Als
ich am Tag nach dem Post von der Schule nach Hause gekommen bin
und das ganze kompilieren wollte, funktionierte alles ohne Probleme.

Verfasst: 18.01.2006 18:06
von HeX0R
Also sorry, dass ich zu faul war den ganzen Block zu kopieren, aber wenn du genau schauen würdest, würdest du vielleicht erkennen, dass das SizeOf(SOCKADDR) von dir zu SizeOf(SOCKADDR_IN) geworden ist.

Darauf wollte ich eigentlich hinaus...

Verfasst: 18.01.2006 18:08
von MVXA
Achso, ich habe deine Änderung nicht beim ersten Mal gesehen. Sry!