据我所知,TCP套接字上的Keep-alive有助于了解套接字是否不仅仅是打开的,而且两个套接字之间的连接实际上是活动的。所以,我有几个问题我想关于保持连接的Winsocks2使用来电咨询:什么时候TCP套接字需要保持活动状态?
1
A
回答
1
当keep-alive选项检测到死亡套接字时会发生什么?
连接重置,任何读取或写入都会出现“连接重置”错误。请注意,keepalive默认情况下处于关闭状态,启用时默认情况下每隔两小时运行一次。
如何在没有实际使用send和recv的情况下检查连接是活着还是死亡?
你不行。 TCP/IP被故意设计为不具有“拨号音”。它的工作方式好得多。这是为什么它取代了像SNA这样的所有先前协议的主要原因。
如果我必须使用send和recv函数,那么首先使用keep-alive有什么意义?
recv()
不会告诉你有关断开的连接。它可能永远阻止。您可以使用读取超时,但您必须决定多少时间太多。或者,您可以实现应用程序级PING。
1
保持活动检测是否在连接的另一端(或物理链路,如网络是向下)的服务器发送邮件之前已经死亡。否则,只有在您实际尝试发送数据时才会检测到断开连接,如果您的连接由于某种原因而处于空闲状态可能需要很长时间。
相关问题
- 1. LDAP套接字保持活动状态
- 2. 有关TCP连接和TCP的查询保持活动状态?
- 3. 配置保持活动状态始终保持连接状态
- 4. 什么时候兑现保持活跃
- 5. 保持TCP连接保持活动状态并仅循环GET命令
- 6. 套接字。当我需要数据包时,数据包保持队列状态
- 7. 使连接保持活动状态
- 8. Java SSLSocket不会保持活动状态(需要使用HTTPS持久连接)
- 9. Android保持活动状态
- 10. Application.DoEvents,什么时候需要,什么时候不需要?
- 11. HTTP保持活动状态超时
- 12. 为什么和什么时候需要使用php中的套接字
- 13. 无法获取套接字以保持活动状态并接收数据
- 14. 如何使用boost :: asio使套接字连接保持活动状态?
- 15. 远程关闭后TCP套接字的状态是什么?
- 16. Swift:TCP套接字保持活动
- 17. Python 3.5.2套接字保持活动
- 18. 保持iPhone网络连接处于非活动状态时保持活动状态?
- 19. 我什么时候需要InamingContainer接口?
- 20. 什么时候WebRequest.GetResponse()设置连接到“保持活跃” C#
- 21. 页面刷新后保存TCP套接字(连接)的状态
- 22. 连接池会保持oracle会话保持活动状态吗?
- 23. HTTP Keep Alive和TCP保持活动状态
- 24. Tcp连接保持活着
- 25. 什么时候需要CAMLparamX?
- 26. 什么时候需要pygame.init()?
- 27. 什么时候需要NSCopying?
- 28. 什么时候需要NS_RETURNS_RETAINED?
- 29. 什么时候需要“javascript:...”?
- 30. 什么时候需要TransactionScopeOption.Supress?