用TCP插座复制破损的管道误差

Replicate broken pipe error with tcp socket

本文关键字:管道 误差 TCP 插座 复制      更新时间:2023-10-16

我有一个TCP服务器。这是代码

https://pastebin.com/paesu39x

我在调试期间有以下错误:

Thread 10 "testserver" received signal SIGPIPE, Broken pipe.
[Switching to Thread 0x7f71feeec0 (LWP 5475)]
0x0000007fb6f13f70 in __libc_send (sockfd=50, buffer=0x7f71fee1e0, len=0,    flags=0)
at ../sysdeps/unix/sysv/linux/generic/send.c:27
27  ../sysdeps/unix/sysv/linux/generic/send.c: No such file or directory.

如何复制损坏的管道误差以测试解决方案?

非常感谢。

您可以使用Kill将特定信号发送到一个过程,例如:

kill -s PIPE 3363

另一个解决方案是创建一个将提早退出的客户