I've been working on a small network based chess application. I managed to create a server that can handle multiple connections, however I don't know how to send data from one client to another through the server. With this setup, it only send the message to one client.
I can also send you the solution file. Any help would be appreciated. Thanks
Here is the partial Server implementation;
Basically it creates new thread for each new client;
Code://function to handle our Socket on its own thread. //param- SOCKET* that is connected to a client DWORD WINAPI HandleSocket(void* param) { string test; SOCKET s = (SOCKET)param; User temp; temp._socket = (SOCKET)param; temp._inGame = false; userlist.add(&temp); std::cout<<"connection"<<endl; int bytesread = 0; int byteswrite=0; while(true) { //receive bytesread = recv(s, reinterpret_cast<char*>(test.c_str()), BUF_LEN, 0); //error check if(bytesread == SOCKET_ERROR) { std::cout << WSAGetLastError(); //shutdown and close on error shutdown(s, SD_BOTH); closesocket(s); return 0; } //check for socket being closed by the client if(bytesread == 0) { //shutdown our socket, it closed shutdown(s, SD_BOTH); closesocket(s); return 0; } byteswrite = send(s, "test" , 255 , 0); if(byteswrite == SOCKET_ERROR) { std::cout << WSAGetLastError(); //shutdown and close on error shutdown(s, SD_BOTH); closesocket(s); return 0; } test.clear(); } }



LinkBack URL
About LinkBacks



