我建了一个socket服务端,用while循环不断接受客户请求,但是不断的循环使我的EXE整个界面死点了,没有响应了,问了一下一个高手,他说用一个工作线程来做while循环。而且给了我代码,说只要把这段代码(如下)放在循环里面,界面就不会死了,可是我试了又试,还是不行啊??大哥们帮帮我啊
MSG msg;if (PeekMessage(&msg, (HWND)NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
MSG msg;if (PeekMessage(&msg, (HWND)NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
你应该用一个线程来专门accept
DWORD cbInQue = 1;
ioctlsocket(*sock, FIONBIO, &cbInQue);
开一条线程专门为监听