在Java中,使用Socket.setSoLinger(true,0)设置套接字与根本不调用setSoLinger有区别吗? socket 的关闭方式是否有所不同?

我已经浏览了Java的源代码,并且没有发现关于soLinger的套接字关闭有什么特别的地方。这使我相信这是特定于操作系统的行为。就我而言,我正在Linux上工作。

最佳答案

通过setSoLinger()指定超时时,close()会阻塞直到完成握手结束或经过指定的时间为止。

但是,close()不能提供关闭握手未能完成的指示,即使
如果setSoLinger()设置的时间限制在关闭序列完成之前到期。

其他
言之,setSoLinger()当前不为应用程序提供任何其他保证。
实现。

Here's信息源。

关于java - 用0值调用setSoLinger与根本不启用soLinger有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9658455/

10-11 20:20