http://www.codeproject.com/internet/winsockiocp.asp
在这个网址下有完整代码,免费注册可得到代码,不知那位大侠用过他?
我通读了代码,写的确实不错,想直接加上我的应用。但是测试时出现了问题
我将程序收发改为问答式,服务端发,客户端收,之后客户端发,服务端收
如此往循环3000多次,在服务端报10055错,之后将客户断连接断掉,我作试验的环境
是在服务端客户端都在本机,而且仅起一个客户断连接,我的机器不是很烂,报
10055,无法分配队列和缓冲区,怎么会呢,我在内存管理上很注意,内存回收的都
很好,而且在机器运行时,看资源管理器,也没有看到该程序在内存使用上的不断
增长,且我测试的包仅200个字节?
if(! bError && bEnterRead) 
{
// issue a read request 
OVERLAPPEDPLUS * pOverlap = new OVERLAPPEDPLUS(IORead);
ULONG ulFlags = MSG_PARTIAL; UINT nRetVal = WSARecv(lpClientContext->m_Socket, 
&lpClientContext->m_wsaInBuffer,
1,
&dwIoSize, 
&ulFlags,
&pOverlap->m_ol, 
NULL);if ( nRetVal == SOCKET_ERROR && WSAGetLastError() != WSA_IO_PENDING) 
{
//WSAGetLastError()等于10055 
pThis->RemoveStaleClient( lpClientContext, FALSE );
}
}