一个CAsyncSocket的MultiThreading问题,处女问
先贴代码,开始thread后,一到ListenSocket.FromHandle((SOCKET)pParam)
程序就出错,我跟踪了一下,发现pParam的值是0x01c……汗
不知道是什么原因,我尝试过用全局变量CAsyncSocket g_ListenSocket,然后
不使用detach,attach的方法,仍然是出错,一在线程里面使用Socket就出错。
我刚开始做这个,在csdn上第一次发问,谢谢各位了
void CBlindChatServer2Dlg::OnOK()
{
// TODO: Add extra validation here
// "开始Listen"按钮的响应函数
m_btnOk.EnableWindow(FALSE);
g_ListenSocket.Listen(5);
g_isListen = 1;
SOCKET tmpSocket;
tmpSocket = g_ListenSocket.Detach();
AfxBeginThread(serverThreadProc,(LPVOID)tmpSocket);
}
UINT serverThreadProc(LPVOID pParam)
{
CAsyncSocket hServerSocket;
CAsyncSocket ListenSocket;
ListenSocket.FromHandle((SOCKET)pParam);
int idConnect = 0;
char recBuffer[50];
int recLenth;
int rCode;
while(!ListenSocket.Accept(hServerSocket))
{