socket报错

ybblack001 2011-05-30 11:48:39
下面这一段代码第一次可以正常运行,但第二次,send函数会发送数据失败,显示
WSAECONNRESET 10054错误。其他线程中也没有关闭socket的代码,由于是本机端口A连接本机端口B,应该也不会是服务器断开的原因吧?求教

while(!proParm->pPair->IsServeClosed && !proParm->pPair->IsClientClosed)
{
//接收服务器数据
re = recv(conn_socket,buff,BUFSIZE,0);
if (re == SOCKET_ERROR || re == 0)
{
AfxMessageBox("1");
closesocket(conn_socket);
proParm->pPair->IsServeClosed = TRUE;
break;
}
len = re;
//将接收到的数据发送给用户

re = send(proParm->pPair->SocketForClient,buff,BUFSIZE/*len*/,0);
//这里回报10054错误
//re = send(conn_socket,buff,BUFSIZE/*len*/,0);
int i = WSAGetLastError();
if (re == SOCKET_ERROR)
{
AfxMessageBox("2");
closesocket(conn_socket);
proParm->pPair->IsServeClosed = TRUE;
break;
}
if (proParm->pPair->IsServeClosed || proParm->pPair->IsClientClosed)
{
AfxMessageBox("3");
closesocket(conn_socket);
proParm->pPair->IsServeClosed = TRUE;
break;
}

}

...全文
63 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ybblack001 2011-05-30
  • 打赏
  • 举报
回复
来人接分吧 虽然不多
ybblack001 2011-05-30
  • 打赏
  • 举报
回复
哦,我解决了。。。测试的时候把buff的长度改了,忘记改回来了

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧