【问题标题】:Replicate broken pipe error with tcp socket [duplicate]使用 tcp 套接字复制损坏的管道错误 [重复]
【发布时间】:2019-07-21 01:45:02
【问题描述】:

我有一个 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.

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

非常感谢。

【问题讨论】:

    标签: c++ c tcp server pipe


    【解决方案1】:

    您可以使用 kill 向进程发送特定信号,例如:

    kill -s PIPE 3363
    
    

    另一种解决方案是创建一个提前退出的客户端,即它会在您调用发送之前关闭套接字。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-25
      • 1970-01-01
      • 1970-01-01
      • 2012-05-06
      • 2014-07-30
      • 1970-01-01
      • 1970-01-01
      • 2014-06-04
      相关资源
      最近更新 更多