Linux TCP套接字崩溃

Linux TCP套接字崩溃,第1张

概述我编写通过 Linux TCP套接字进行通信的网络应用程序.最近我注意到发送系统调用崩溃我的应用程序.当两个对手都启动时,它工作正常(我现在正在测试崩溃恢复).但是当一个对等体出现故障时,第二次崩溃会执行这段代码. fprintf(stderr, "out_tcp %d\n", out_tcp); if(send(out_tcp, &packet, sizeof(packet), 0) = 我编写通过 Linux TCP套接字进行通信的网络应用程序.最近我注意到发送系统调用崩溃我的应用程序.当两个对手都启动时,它工作正常(我现在正在测试崩溃恢复).但是当一个对等体出现故障时,第二次崩溃会执行这段代码.

fprintf(stderr,"out_tcp %d\n",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下运行它,它说应用程序正常退出 – 没有错误/警告消息.

有谁知道如何调试它?使用工具?因为我没有信息,所以我非常坚持这一点.

提前致谢
Harnen

解决方法 看起来您的应用程序忽略了SIGPIPE.请参阅此主题以获取更多信息:

How to prevent SIGPIPEs (or handle them properly)

总结

以上是内存溢出为你收集整理的Linux TCP套接字崩溃全部内容,希望文章能够帮你解决Linux TCP套接字崩溃所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1021081.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存