各位大虾,我编写了一个基于TCP的网络应用程序,进行connect时出现10055错误,是什么原因呢?上msdn查了一下,msdn上说“由于系统缓冲区不足或队列已满,无法进行Socket连接”,我的代码如下: WSADATA wsaData;
int nRet = 0;
    if ((nRet = WSAStartup(0x0002, &wsaData)) != 0) 
{
// 添加信息到列表中
CString strInfo;
strInfo.Format("初始化套接字失败,错误:%d\n", nRet);


return false;
} // 初始化网络参数
servAddr.sin_family = AF_INET;
servAddr.sin_addr.S_un.S_un_b.s_b1 = byServIP[0];
servAddr.sin_addr.S_un.S_un_b.s_b2 = byServIP[1];
servAddr.sin_addr.S_un.S_un_b.s_b3 = byServIP[2];
servAddr.sin_addr.S_un.S_un_b.s_b4 = byServIP[3];
servAddr.sin_port = htons(m_uServPort); if ((sServSocket = WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, 0, WSA_FLAG_OVERLAPPED))== INVALID_SOCKET )
{
    // 添加信息到列表中
CString strInfo;
strInfo.Format("创建套接字失败,错误:%d\n",  WSAGetLastError());



WSACleanup( );
return false;
} if (connect(sServSocket, (SOCKADDR *)&servAddr, sizeof(SOCKADDR)) == SOCKET_ERROR)// 如果连接不成功,会返回SOCKET_ERROR
{
// 添加信息到列表中
CString strInfo;
strInfo.Format("连接宁波平台失败。错误码:%d\n",  WSAGetLastError());
AfxMessageBox(strInfo);
closesocket(sServSocket);
bConnectSuccess = false;
return false; }
else

bConnectSuccess = true; // 将连接成功标志置为真
}       
          // 其它代码略
程序只要一运行到connect处就弹出了"连接宁波平台失败。错误码:10055"的对话框,这个问题怎么解决啊?我怀疑是不是客户服务器电脑中毒了。我的程序在其它电脑上运行是没有问题的,一旦在客户的服务器上运行就弹出了"连接宁波平台失败。错误码:10055"的对话框

解决方案 »

  1.   

    我的问题也和楼主一样,不知道是怎么回事,帮忙顶一下,报这种问题是由于系统层面的问题,我的程序只是一个connect就报错,郁闷很久,但是不是所有的电脑出这个问题,是部分出
      

  2.   

    客户的服务器是什么系统?
    是否有防火墙?
    telnet 连接测试目标端口是否成功
      

  3.   

    遇到过 这个问题 由于系统缓冲区空间不足或列队已满,不能执行套接字上的操作。1.关掉所有杀毒软件
    2.看下是否能TELNET上客户服务器