Threads-sockets
-
HI,
ich versuche durch Broadcasts alle Server zu finden, aber bei unblocking sockets bekomme ich den Fehler "10035"for(i=i;i<120;i++){ _Broadcast* Current; rc=recvfrom(ServerSockListen,buffer,SIZE_BROADCAST,0, (struct sockaddr *) &i_addr2, &size); int error=WSAGetLastError( ); Current=(_Broadcast*) buffer; if(rc!=-1) { //iprintf(":",rc,":"); //ioctl(ServerSockListen, FIONBIO, &flags); //iprintf("Buffer: ", Current->IP); if(!existBroadcast(*Current)) { Empfangen[nrBroadcast]=*Current; nrBroadcast++; } } swiWaitForVBlank(); }Wenn ich Threads verwende (mit blocking sockets) frieren der Thread und das Programm bei "recvfrom" ein...
HANDLE hThread; DWORD dwThreadID; int index=0; hThread = CreateThread( NULL, 0, ThreadFunc, (LPVOID)index, 0, &dwThreadID );Könnt ihr mir helfen ??
-
gelöst.
Ich muss den Thread mit "TerminateThread" beeden, "ExitThread" beendet den eigenen Thread (main) ^^