一直监听并接受指定端口的数据
我要实现多线程的服务端 接收端口数据
首先 监听端口 当过来一个连接
创建一个接收线程
hThread=CreateThread(NULL,NULL,AnswerThread,(LPVOID)AcceptSocket,0,&dwThreadId);
接收线程AnswerThread:
SOCKET ClientSocket=(SOCKET)(LPVOID)lparam;
byte recvbuf[1024]="";
for(;;)
{ //Receiving Data
bytesRecv=recv(ClientSocket,(char*)recvbuf,1024,0);
if(bytesRecv==SOCKET_ERROR) break;
//这里是数据的操作
}
我的问题:
当客户端连接并发送数据时正常,当如果关闭客户端后,这个for(;;) 会不停的执行刚才接收到的数据的操作,而不是正常退出,请问该如何处理?
另外,定义线程时,用
DWORD WINAPI AnswerThread(LPVOID lparam)
和
static VOID AnswerThread(LPVOID Parameter)
有什么区别?