我有一台tcp服务器。 这是代码
在调试过程中出现以下错误:
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.
如何复制管道破裂错误以测试解决方案?
非常感谢您。
答案 0 :(得分:2)
您可以使用kill将特定信号发送给进程,例如:
kill -s PIPE 3363
另一种解决方案是创建一个将提前退出的客户端,即它将在您的发送呼叫之前关闭套接字。