【问题标题】:Socket disconnects at midnight插座在午夜断开
【发布时间】:2015-10-20 05:36:43
【问题描述】:

我的一个系统有一个非常奇怪的问题。有两个组件:

  1. 在 NIOS 板上运行的 uClinux。

  2. 运行旧 CentOS 的 Power PC。

两块板之间有一个开放的套接字,不断的文本命令来回传递。我有几个采用这种设置的系统。

但是,其中一个出现了这个奇怪的错误:套接字在 午夜 左右断开连接并抛出 broken pipe 错误。有谁知道配置此行为的特定设置是什么?我怀疑它是我的软件,因为它在其他几个系统上运行良好。

【问题讨论】:

  • 你确定没有鬼什么的(午夜左右):P
  • 严肃地说,broken pipe 是两个系统(服务器/客户端等)之间“不正确”断开连接时发生的错误。例如。服务器关闭,服务器上运行的某些 cron 会自动终止所有连接或类似情况,在这种情况下,客户端系统将显示 Broken Pipe 然后连接丢失。这几乎不是软件错误,所以我猜你的软件应该是正确的。
  • @vish4071:嗯,我没有找到任何幽灵。我检查了 cron 作业,但没有什么特别突出的。同样,我有几个盒子,这种效果只发生在一个盒子上。 Cron 作业是相同的。
  • 现在我不太确定为什么你的套接字断开了。不过,我可以提出一个解决方案,如果此问题仅在午夜(特定时间或类似时间)左右发生,您可以编写一个脚本来检查连接过程(sshtelnet 等)是否仍在运行。只要不是(当管道破裂时),运行connect 脚本(无论您使用什么方法来连接您的客户端和服务器系统)。但我很确定,broken pipe 是由于断开连接不当造成的。我希望这会有所帮助,如果没有,我希望你能得到一些有用的答案。 :)
  • @vish4071:感谢您的建议。但这是一种解决方法。我想首先弄清楚它为什么会发生。似乎某处有一些设置。

标签: linux sockets tcp


【解决方案1】:

总结一下结果:我在午夜找不到导致broken pipe 错误的原因。但是我能够通过...忽略this post 建议的SIGPIPE 信号来减轻它的影响。

【讨论】:

    猜你喜欢
    • 2016-01-13
    • 2012-09-25
    • 1970-01-01
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多