Prüfen, ob Client noch verbunden.
-
Ich habe einen Client und einen Server geschrieben. Der Client verbindet sich auch wunderbar mit ihm... Wenn sich die IP-Adresse allerdings ändert, denkt der Client immer noch, er sei mit dem Server verbunden. Was also tun, um diesen Fehler zu beseitigen?
Danke!
:xmas1: :xmas2:
-
DWORD WINAPI TESTSOCKET(PVOID sock) { SOCKET s; s = *(SOCKET*)sock; DWORD WSA_ErrorCode = 0; int bytes_received = 0; char buf[BUF_SIZ]; while(1) { bytes_received = recv( s, buf, BUF_SIZ, 0 ); if((bytes_received == SOCKET_ERROR) || (bytes_received == 0)) { closesocket(s); // socket schliessen s=INVALID_SOCKET; // seinen platz wieder freigeben break; } Sleep(5000); } return 0; }Soweit bin ich bisher... Problem hierbei ist, dass das bei meinem Server läuft. Dieser wartet also 2 mal mit recv(). Wie kann man das am besten lösen?
:xmas1:
-
2 recv()'s warten (blocken) gleichzeitig... Einer in dem Thread und der andere im normalen Programmverlauf... DIese behindern ja sich wahrscheinlich...