首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

Linux停客户端提示104,Connection reset by peer

2013-07-16 
Linux下客户端提示104,Connection reset by peer我在linux下编写了一个linux客户端程序,连接windows服务器

Linux下客户端提示104,Connection reset by peer
    我在linux下编写了一个linux客户端程序,连接windows服务器的时候经常出现错误号104,Connection reset by peer。再次发送的时候提示:错误号:32,Broken pipe。
    而此时服务器端的连接还是存在的,根本没有检测到断开的信号。
    麻烦大家帮帮忙。谢谢。代码如下:

int len=0;
char szbuff[1024]={0};
int count = 0;
int nNetTimeout=8000;
int nRevTimeout=8000;
string strBuff;
//GetFileBuff(fileName,strBuff);
int ret = 0;
struct sockaddr_in addr;

SOCKET data_s = socket(AF_INET,SOCK_STREAM,0);
addr.sin_family = AF_INET;
addr.sin_port = htons(g_iPort);
addr.sin_addr.s_addr = inet_addr(g_cServerIp);
ret = connect(data_s,(SOCKADDR*)&addr,sizeof(addr));
if (ret!=0)
{
printf("[%s %s] connect file Port falied\n",GetDate().c_str(),GetTime().c_str());
::close(data_s);
////closesocket(pCtx->control_s);
exit(0) ;
}

while(1)
{
sleep(1);

int ret = send(data_s,"1111111111111111111111111111111111111111111111111111111",100,0);
//int ret = send(data_s,"1234567890",10,0);
printf("[%s %s]send %d,%d,%s\n",GetDate().c_str(),GetTime().c_str(),ret,errno,strerror(errno));
if (ret !=100)
{
//close(data_s);
//exit(0);
}
}
shutdown(data_s,0);
sleep(1);
::close(data_s);
[解决办法]

对方关闭了连接
1. 可能发现你的地址不对
2. 你发送的数据不符合协议要求
3. 。。。

热点排行