我正在通過3G構建從Android設備到服務器的客戶端服務器應用程序。 由於提供3G的網絡運營商,客戶端設備位於NAT後面。因此,服務器不可能與客戶端建立連接。我可以採用投票的方法,但在這之前,我想用盡所有其他選項。有什麼方法(我還沒有找到)在客戶端和服務器之間保持TCP Socket連接打開,以便服務器能夠發起與客戶端的通信?持續TCP連接客戶端/服務器
這種情況是,基於服務器狀態的定期客戶端/服務器通信會非常規律地進行更新 - 我們每隔幾秒就會說話一次。 UDP會是更好的選擇嗎?也許不是因爲NAT問題仍然讓它頭疼。
我還有其他選擇嗎?
非常感謝
你在問如何保持它打開(幾秒鐘的窗口) - 我想知道它是如何關閉你的第一個地方。 – corsiKa 2011-02-28 21:20:48
不是。但是,如果我使用ObjectOutputStream將對象寫入服務器,那麼稍後可以重新使用它,而套接字仍處於打開狀態?或者我需要重新實例化ObjectOutputStream?我似乎無法找到任何這方面的信息。謝謝 – Joeblackdev 2011-02-28 21:43:57