【问题标题】:Does SocketChannel.close() close the socket also?SocketChannel.close() 是否也关闭套接字?
【发布时间】:2013-05-15 14:56:10
【问题描述】:

我有一个服务器程序需要关闭服务器关闭时剩余的所有连接。我知道我需要致电SocketChannel.close()。我的问题是我是否还需要关闭与SocketChannel 关联的套接字,或者SocketChannel.close() 是否会自动关闭。

【问题讨论】:

    标签: java sockets networking channel socketchannel


    【解决方案1】:

    当然它会关闭套接字。还有什么用?唯一的例外是当通道注册到 Selector 时,当实际关闭延迟到下一个选择操作时。

    【讨论】:

      【解决方案2】:

      SocketChannel.close() 应该关闭 Socket。但是,围绕这个问题存在一些错误(应该很久以前就已经解决了)。 http://bugs.sun.com/view_bug.do?bug_id=4960962。另一种可能导致问题的情况:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6179351

      【讨论】:

      • 您现在引用的错误显示“解决日期:2005-04-16”。如果您在这方面遇到困难,几乎可以肯定是因为我的回答中提到的延迟关闭。
      猜你喜欢
      • 2011-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-08
      • 2012-10-07
      • 2016-08-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多