代码之家  ›  专栏  ›  技术社区  ›  Patrick

伯克利插座关机功能,有多重要?

  •  2
  • Patrick  · 技术社区  · 16 年前

    因此,显而易见的解决方案是停止调用shutdown。巴恩斯先生对此的回答 question 对这两个函数进行了很好的描述,但是,如果您知道只有一个进程连接到特定的套接字,那么在关闭之前是否有理由使用shutdown?

    帕特里克

    2 回复  |  直到 8 年前
        1
  •  4
  •   cjs    16 年前

    在我看来,“突然断开连接”似乎已经成为您通信协议的一部分,这不是一件好事。如果客户端在“某些中断发生”后长时间运行,则决定是否使用 shutdown() close()

    这就是说,听起来好像这个系统(即,所有交互软件)已经(在服务器上)冻结了一个位,以至于这种变化永远不会发生。也许你想做的,不是找出问题的真正所在,而是让一位经理签署一份快速而肮脏的“直接使用”协议 关闭()

    决定是否进入一个潜在的昂贵的搜索,看看这里到底发生了什么,以及一个潜在的昂贵的(政治上,如果不是财务上)与另一端负责维护该软件的组织,这实际上是一个管理决策,而不是技术决策,虽然要正确制作,但需要了解技术风险。

        2
  •  1
  •   user207421    13 年前

    如果您知道只有一个过程是 连接到特定插座的是 是否有任何理由使用关机 结束前?

    编辑:但这并不是说关机没有它的用途:当然有。如果你想停止发送,想让接收者知道这一点,但又想继续接收,那就是它的目的。另一个用途是几乎解决两军问题并获得同步关闭:如果读取EOS,则发送关机并关闭;如果要启动关闭,请发送关机并读取至EOS,然后关闭。如果应用程序协议正确,则后一步不应读取任何数据,并且两端的关闭将相当同步。