首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >套接字的连接和读出超时有什么区别?

问套接字的连接和读出超时有什么区别?
EN

Stack Overflow用户
提问于 2010-06-18 12:04:08
回答 1查看 213.6K关注 0票数 223

3个问题:

  1. connection和读取套接字的超时有什么区别?
  2. ,连接设置为“无穷大”意味着什么?在什么情况下,它可以保持在不定式循环?什么能触发无穷大循环死亡?
  3. 读取超时设置为“无穷大”意味着什么?在什么情况下,它可以保持在不定式循环?还有什么能触发无限环死亡呢?
EN

回答 1

Stack Overflow用户

发布于 2010-06-18 13:07:29

这些是JVM为TCP连接建立和等待从套接字读取数据而强制执行的超时值。

如果将值设置为无穷大,则不会永远等待。这仅仅意味着JVM没有超时,而OS将负责所有超时。然而,操作系统上的超时时间可能真的很长。在一些缓慢的网络中,我已经看到了长达6分钟的超时。

即使您为套接字设置了超时值,如果超时发生在本机代码中,则可能无法工作。我们可以通过连接到防火墙阻塞的主机或拔出交换机上的电缆,在Linux上再现这个问题。

处理TCP超时的唯一安全方法是在另一个线程中运行连接代码,并在需要太长时间时中断线程。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3069382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档