socket accept接受连接之后 recv返回值为-1 求教多出来的请求哪里来的

张云昊 发布于 2014/03/03 15:14
阅读 1K+
收藏 0

做一个模拟简单的web服务器,在监听开始之后,用浏览器访问服务器,服务器的监听代码如下,accept为阻塞模式的但是总会多余的接收到一个请求(用抓包工具监听发现服务器并没有接到这个请求,但是accept到了),从连接中读取recv返回值为-1(在recv这个错误的连接时会等待较长的时间,getlasterror值为10060 )  求解答

nSize = sizeof(m_Addr);

while(TRUE)

{    

sockaddr_in addrRemote;

SOCKET sNew = accept(m_Socket,(sockaddr*)&addrRemote,&nSize); 
cout<<"请求来自:"<<inet_ntoa(addrRemote.sin_addr)<<':'<<sNew<<endl;
if (ReadAsk(sNew)>0)//读取请求此函数中调用recv函数 在此处getlasterror值为10060
{
    .....//此处对于请求做以回应
}

}
加载中
返回顶部
顶部