我是网络编程的新手。我感兴趣的是可以通过Java服务器和C客户端之间的套接字建立网络连接,并保持连接无限打开? 我想保持连接打开以在客户端之间交换XML数据。是否有可能将套接字打开无限时间
回答
理论上可以保持服务器套接字打开无限长的时间;但是,使用客户端套接字是不可能的。主要原因是因为客户端套接字依赖于处理数据的服务器端套接字,并且服务器套接字可能会关闭连接。
尽管可能会无限期地断开连接,但实际方面通常会确保此类套接字不会永远保持打开状态。网络中断,中间路由器配置错误,带宽耗尽,计算能力不足等等,都是为了确保点对点连接充其量只是暂时的。
请注意,服务器端套接字是一个接收连接请求(产生具有自己的返回套接字的连接)的套接字,所以即使在没有连接时也可以打开它。如果您认为套接字是与另一台计算机的开放连接,则需要重新调整思路,让服务器套接字具有任何意义。
不要忘记处理上面指出的令人讨厌的'EarthVaporizedException'和'UniverseHasEndedException'。 –
@LucaGeretti这样的评论很有趣,但你真的只是避免回答这个问题。 Stackoverflow并不令人厌烦,但是包含宇宙热死的答案在非通用时间尺度上并不有用。 –
第一段中描述的问题不局限于客户端套接字。它是对称的。任何一方都可以丢弃连接,任何中间节点也可以。 – EJP
没有什么是无限的(在计算中),但只要两个应用程序都在运行,您就可以保持套接字连接处于打开状态。
这是比答案更恳求,但作为一个用户,我发现套接字一直在下降。你不能无情地打开它们。 (A)让用户知道连接已经掉线并(B)使其真易于重建同连接。好的,这涉及到游戏,但我有客户不承认服务器已经关闭,服务器无法识别我是与丢弃连接的人相同的人。
- 1. 是否有可能在服务器端打开两个套接字
- 2. “无法打开套接字”
- 3. 是否有可能在打开websocket连接时发送数据
- 4. 3g连接的开销是多少以保持套接字打开无限期
- 5. 是否ServerSocket.close()应该关闭所有打开的套接字?
- 6. 套接字始终打开或只是在需要时打开?
- 7. 是否有可能在异步套接字上等待连接
- 8. 无法打开网络套接字
- 9. Node-Inspector无法打开套接字
- 10. 无法打开套接字C++
- 11. Zend_Mail无法打开套接字
- 12. 是否为每个UDP连接打开一个新套接字?
- 13. recv()windows套接字需要无限时间 - 如何超时?
- 14. 为什么HttpClient将套接字打开?
- 15. 是否有可能为Perl的套接字侦听增加QUEUESIZE?
- 16. 是否有可能通过套接字TCP发送ListViewItem?
- 17. 套接字不打开?
- 18. 无限读取套接字
- 19. NullPointer套接字接收或可能是套接字
- 20. 测试是否在linux中打开套接字
- 21. nodejs - 如何测试远程套接字是否打开
- 22. 如何检查套接字服务器是否打开?
- 23. 检查服务器套接字是否在另一端打开
- 24. 测试套接字是否仍然打开
- 25. 是否有可能无限期维护授权引用(可可)
- 26. ReCaptcha - Joomla! “无法打开套接字”总是
- 27. 是否可以在Windows上打开“仅本地计算机”套接字?
- 28. 保持java套接字打开 - 如何检查新数据是否可用?
- 29. OSGi套接字:套件已停止,套接字仍然打开
- 30. 是否可以打开的窗口数量有限制?
*“保持连接无限打开?”*可悲的是。在短短的几亿年内,地球就会被汽化。 –
不,最终宇宙将结束:-)更实际的一点是,经过一段时间后,连接可能会下降,并且由于网络问题而必须重新建立。 –
也许你的意思是“持久”而不是“无限”? “无限”在Stackoverflow中带出愤世嫉俗的一面。 :P – kevin628