私は WinSock サーバーを持っていて、それをマルチスレッドにする方法を考えていました。以前にスレッドを使用したことがあり、その機能を理解しています。しかし、サーバーコードでそれらを使用する方法がわかりません。だからここにあります:
main.cpp
/* This is our Server */
//Includes
#include "Functions.h"
//Main function
int main(){
DLLVERSION = MAKEWORD(2,1);
answer = WSAStartup(DLLVERSION, &wsaData);
sConnect = socket(AF_INET, SOCK_STREAM, NULL);
addr.sin_addr.s_addr = inet_addr(HostIP);
addr.sin_family = AF_INET;
addr.sin_port = htons(PORT);
sListen = socket(AF_INET, SOCK_STREAM, NULL);
bind(sListen, (SOCKADDR*)&addr, sizeof(addr));
listen(sListen, SOMAXCONN);
//Listening for clients
for(;;){
Print("Waiting for incoming connections");
//If a connection is found
if(sConnect = accept(sListen, (SOCKADDR*)&addr, &addrlen)){
Print("Connection found!");
Send("Hello!");
}
}
}
このサーバーをマルチスレッド化するにはどうすればよいですか?
使ってみCreateThread();
たのですが、別のスレッドができた途端に最後のスレッドがなぜか終了してしまいます。誰でも助けることができますか?