【发布时间】:2011-02-28 21:16:33
【问题描述】:
我正在通过 3G 构建从 android 设备到服务器的客户端服务器应用程序。 由于提供 3G 的网络运营商,客户端设备位于 NAT 之后。因此,服务器不可能与客户端建立连接。我可以采用投票的方法,但是在这样做之前,我想用尽所有其他选项。是否有某种方法(我还没有找到)在客户端和服务器之间保持 TCP Socket 连接打开,以便服务器能够启动与客户端的通信?
这种情况是,基于服务器状态的非常定期的客户端/服务器通信会非常定期地更新 - 我们每隔几秒钟就会交谈一次。 UDP在这里会是更好的选择吗?也许不是,因为 NAT 问题仍然把它敲在头上。
我还有其他选择吗?
非常感谢
【问题讨论】:
-
你在问如何让它保持打开状态(几秒钟的窗口) - 我想知道它是如何关闭你的。
-
不是。但是,如果我使用 ObjectOutputStream 将对象写入服务器,我可以稍后在套接字仍然打开的情况下重用它吗?还是我需要重新实例化 ObjectOutputStream?我似乎在这方面找不到任何东西。谢谢