Linux TCP套接字崩溃
发布时间:2020-12-13 23:50:04 所属栏目:Linux 来源:网络整理
导读:我编写通过 Linux TCP套接字进行通信的网络应用程序.最近我注意到发送系统调用崩溃我的应用程序.当两个对手都启动时,它工作正常(我现在正在测试崩溃恢复).但是当一个对等体出现故障时,第二次崩溃会执行这段代码. fprintf(stderr,"out_tcp %dn",out_tcp); if
我编写通过
Linux TCP套接字进行通信的网络应用程序.最近我注意到发送系统调用崩溃我的应用程序.当两个对手都启动时,它工作正常(我现在正在测试崩溃恢复).但是当一个对等体出现故障时,第二次崩溃会执行这段代码.
fprintf(stderr,"out_tcp %dn",out_tcp); if(send(out_tcp,&packet,sizeof(packet),0) == -1) fprintf(stderr,"send TCP error"); fprintf(stderr,"after send"); Socket已准备好并已连接,并且在第二个对等体出现故障之前已执行多次.我希望这段代码返回-1值,但它只在输出上产生“out_tcp 11”然后应用程序退出.没有错误消息,没有发送的返回值.我在Valgrind下运行它,它说应用程序正常退出 – 没有错误/警告消息. 有谁知道如何调试它?使用工具?因为我没有信息,所以我非常坚持这一点. 提前致谢 解决方法
看起来您的应用程序忽略了SIGPIPE.请参阅此主题以获取更多信息:
How to prevent SIGPIPEs (or handle them properly) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |