+ -
当前位置:首页 → 问答吧 → socket通信程序,关于客户端断开连接导致服务器端进程退出的问题,大家帮忙分析下。

socket通信程序,关于客户端断开连接导致服务器端进程退出的问题,大家帮忙分析下。

时间:2010-08-12

来源:互联网

写了个简单的socket通信程序,客户端从服务器端下载指定的文件,TCP。
服务器端每次监听到一个客户端连接都新开一个线程与其通信,发送客户端指定的文件(read,write)。如果客户端在下载过程中ctrl+c退出,导致服务器端进程也退出。不知道这是为什么。
  服务器每次创建线程都分离,并且函数里异常都调用pthread_exit函数。怎么会导致主进程退出呢?大家帮帮分析下啊。

作者: robin254817   发布时间: 2010-08-12

本来想下载过程断开,下次启动能从断点处继续下载。这个功能实现了,确出现了上面的问题。在线等回复啊。高手帮忙呀。

作者: robin254817   发布时间: 2010-08-12

退出部分code

作者: 梅川内依酷   发布时间: 2010-08-12

见鬼了,又试了几次服务器端不退出了,返回write(): Connection reset by peer,哎,越来越迷糊。。。

作者: robin254817   发布时间: 2010-08-12

回复 robin254817


    write(): Connection reset by peer是客户端主动退出。

主程序你有没有忽略SIGPIPE信号?

作者: 梅川内依酷   发布时间: 2010-08-12

楼上正解

作者: albeta   发布时间: 2010-08-12