Serversocket in Thread ...
-
So ich wollte einen Thread erzeugen (thread damit das accept() im hintergrund läuft und ich den thread über die Gui wieder stoppen kann). Bei java ist das ganze schön gemacht, da ich ne Schleife laufen lassen und das Programm wartet bis das accept() eine connection bekommt ... Kurzes beispiel:
int port = 80; ServerSocket servSock = new ServerSocket(port) while(true) { Socket clientSock = servSock.accept(); //hier wartete das Prog bis eine connection kommt (new clientThread(clientSock)); }
Wie läuft das bei cpp? Wenn ich diesen Teil:
WSADATA WSAData; WSAStartup(MAKEWORD(2,0),&WSAData); serverSock = SOCKET(AF_INET,SOCK_STREAM,IPPROTO_TCP); sockaddr_in sa; sa.sin_family = AF_INET; sa.sin_port = htons(port); bind(serverSock,(LPSOCKADDR)&sa,sizeof(sa)); listen(serverSock,SOMAXCONN); WSAAsyncSelect(serverSock,hWnd,WM_SOCKET_NOTIFY,FD_READ|FD_CLOSE|FD_ACCEPT); SOCKET clientSock = accept(serverSock,0,0);
In einem Thread starte läuft der einmal durch, wenn ich das ganze in ne Schleife schreibe und ne Ausgabe zum Überprüfen an's Ende schreibe, sehe ich, dass die Schleife ohne anhalten durchläuft ... Also wie mach ich das nu am (un)geschicktesten?
THX
John
-
Hat sich erledigt ...
-> Delete