繁体   English   中英

是否可以保持套接字无限打开

[英]Is it possible to keep sockets open infinite time

我是网络编程的新手。 我有兴趣通过Java服务器和C客户端之间的套接字建立网络连接,并使连接无限打开吗? 我想保持连接打开状态以在客户端之间交换XML数据。

从理论上讲,可以无限期地打开服务器套接字; 但是,使用客户端套接字是不可能的。 主要原因是因为客户端套接字依赖于处理数据的服务器端套接字,服务器套接字可能会关闭连接。

尽管可以无限期地保持连接打开,但实际情况通常会确保此类套接字不会永远保持打开状态。 网络中断,中间路由器中的配置错误,带宽耗尽,计算能力不足等都共同确保了点对点连接最多只是暂时的。

请注意,服务器端套接字是接收连接请求的套接字(产生具有自己的返回套接字的连接),因此即使没有连接也可以将其打开。 如果您将套接字视为与另一台计算机的开放连接,则需要重新调整思路,以使服务器套接字有意义。

在计算中,没有什么是无限的,但是只要两个应用程序都在运行,就可以保持套接字连接打开。

这比回答更不是一种恳求,但是作为用户,我发现套接字一直都在掉线。 您不能无限打开它们。 当套接字意外关闭时,请(A)让用户知道连接已断开,并且(B)使其真正容易地重新建立相同的连接。 好的,这涉及游戏,但是我有一些客户不会承认服务器已经消失,而那些服务器却无法识别出我与断开连接的用户是同一个人。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM