ATL做一个服务,socket侦听
我在atl的那个类的install函数里面初始化socket,用的是SOCKET,没用CSocket,一切正常,
然后启动侦听线程,把侦听SOCKET作为参数传过去,afxbeginthead(listenProc,listenSocket);
线程函数如下:
UNIT listenProc(LPVOID lp)
{
SOCKET listenSocket=*(SOCKET *)LP;
SOCKET chatSocket=accept(socket,NULL,NULL);
//调试到这里就出现一个对话框,thread 返回值为0退出。
}
如果我把不用线程的话,就没有问题,可以阻塞侦听,但是这样程序就不对了,因为阻塞在那里,服务就没法启动了,除非有客户端连接。。。。。
为什么放在线程中就不行了呢?高手来帮帮忙把