繁体   English   中英

持久的TCP连接客户端/服务器

[英]Persistent TCP connection client / server

我正在将客户端设备应用程序从android设备构建到3G上的服务器。 由于网络运营商正在提供3G,因此客户端设备位于NAT之后。 因此,服务器无法与客户端建立连接。 我可以采用轮询的方法,但是在这样做之前,我想穷尽所有其他选择。 是否有某种方法(我尚未找到一种方法)在客户端和服务器之间保持TCP套接字连接打开,以便服务器能够启动与客户端的通信?

场景是,基于服务器状态的客户端/服务器通信将非常定期地进行,并且会定期更新-我们每隔几秒钟就会进行一次通话。 UDP在这里会是更好的选择吗? 也许不是,因为NAT问题仍然令人震惊。

我还有其他选择吗?

非常感谢

NAT并不意味着服务器无法发送任何内容。 只需打开客户端的连接,然后让服务器发送它记录的所有事件即可。 您可能还希望包括一个简单的心跳协议,以使客户端和服务器注册断开的连接,并使NAT知道该连接仍在使用中。

只需打开一个套接字并使用它,包括ObjectOutputStream。 如果中间系统断开连接,您将获得异常,然后关闭并重复。

暂无
暂无

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

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