我用AcceptEx发送一个接受客户端连接的请求,当它接收到一个连接后,怎么样让它继续接收客户端连接它第二个参数的那个套接字要重创建吗?
解决方案 »
- 关于SetWindowText的问题
- 哪里出错
- 哪位熟悉图形编程的,是否能解决这个问题?关于图片拉伸的。http://community.csdn.net/Expert/topic/3728/3728341.xml?temp=.9489099,
- 急救!过路的都来看看怎么办?
- 如何获得浏览器下载文件的消息
- 请将用过InnoSetup来生成自己的安装程序的?
- 请教大家关于对话框控件的一个简单问题!
- /GZ编译选项加上之后出现问题,肯定是release版本出错,那么一般出错的情形是什么?我找了好久也没有找出来,大家给点提示?
- 请问如何限制CRectTracker的虚线边框
- 请问:在CrichEditCtrl中如何得到当前光标的前后两各字符?
- 关于在一个对话框中调用另一个对话框中成员变量的问题!急!!
- 问个有关msmq的问题
__in SOCKET sListenSocket,
__in SOCKET sAcceptSocket,
__in PVOID lpOutputBuffer,
__in DWORD dwReceiveDataLength,
__in DWORD dwLocalAddressLength,
__in DWORD dwRemoteAddressLength,
__out LPDWORD lpdwBytesReceived,
__in LPOVERLAPPED lpOverlapped
);sAcceptSocket
A descriptor identifying a socket on which to accept an incoming connection. This socket must not be bound or connected.
{
BOOL bRet = AcceptEx(sListen,sClient,
szOutputBuf,
1024-((sizeof(SOCKADDR_IN)+16)*2),
sizeof(SOCKADDR_IN)+16,
sizeof(SOCKADDR_IN)+16,
&dwByte,
&overlapped);
if(bRet == FALSE)
{
if(ERROR_IO_PENDING != WSAGetLastError())
cout<<"监听出错"<<WSAGetLastError()<<endl;
} int nRet = WSAWaitForMultipleEvents(1,&overlapped.hEvent,TRUE,1000,FALSE);
if (nRet == WSA_WAIT_TIMEOUT)
{
cout<<"超时"<<endl;
continue;
}
if (nRet != WSA_WAIT_FAILED)
{
WSAResetEvent(overlapped.hEvent);
cout<<"接收到新连接"<<endl;
}
}这样也不行啊
sClient创建这个套接字放AcceptEx前面就行