免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1266 | 回复: 4
打印 上一主题 下一主题

sock通讯问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-12-17 22:30 |只看该作者 |倒序浏览
烦,烦,烦!
   我写一个长连接的client端程序,client端与服务器端建立连接后,几乎每次发送第一个数据包时(数据包还没有发出去),客户端进程就掉了。client端重连后,发送就很正常。通过日志跟踪,出故障的行就在下面代码位置,请大家指点指点。



  1.         while((ret=send(sockfd, sendbuf, pkglen, 0))==-1){
  2.                 if( errno == EINTR ) continue;
  3.                 Write_Log( "send Pkg error,errno=[%d]\n",errno );
  4.         }
复制代码

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2003-12-17 23:29 |只看该作者

sock通讯问题

错误都没来的及输出么?是不是有什么信号没有响应?你把一些信号屏蔽看。

另外重连,是指client进程重启动么?

论坛徽章:
0
3 [报告]
发表于 2003-12-17 23:48 |只看该作者

sock通讯问题

谢谢gadfly的回贴。
     错误都没有来得及打印,进程就退出了。在整个client 端程序中没有用到任何信号。请问,是要屏蔽那些信号?
重连,是指client进程重启动。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2003-12-18 00:57 |只看该作者

sock通讯问题

那多半是信号。

例如SIGINT,  SIGQUIT,SIGPIPE, SIGTTIN。用一个函数响应 一下,打印这个信号数。

或者用gdb, ptrace跟踪一下,看看退出的具体原因。。

论坛徽章:
0
5 [报告]
发表于 2003-12-18 11:12 |只看该作者

sock通讯问题

也许是Write_Log出问题了也说不准。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP