`
stephen830
  • 浏览: 2968862 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ChannelOption.SO_TIMEOUT, 5000->java socket参数详解:SoTimeout

 
阅读更多

 

 java socket参数详解:SoTimeout

 

用于设置接受数据的等待的超时时间,单位为毫秒,它的默认值是0,表示无限等待。

 

设置socket调用InputStream读数据的超时时间,以毫秒为单位,如果超过这个时候,会抛出java.net.SocketTimeoutException。


当输入流的read方法被阻塞时,如果设置timeout(timeout的单位是毫秒),那么系统在等待了timeout毫秒后会抛出一个InterruptedIOException例外。在抛出例外后,输入流并未关闭,你可以继续通过read方法读取数据。
当底层的Socket实现不支持SO_TIMEOUT选项时,这两个方法将抛出SocketException例外。不能将timeout设为负数,否则setSoTimeout方法将抛出IllegalArgumentException例外。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics