SocketChannel.close()也会关闭套接字吗?

时间:2013-05-20 23:29:06

标签: java sockets networking channel socketchannel

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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