2011-04-27 37 views
0

我正在開發一個實時Android應用程序,並且在連接到TCP網絡SocketObjectOutputStream上檢測到錯誤時出現問題。我正常呼叫writeObject後跟flush,但是當接收節點意外死亡時,我需要馬上知道它(幾秒鐘內)。不幸的是,當節點關閉服務器的電話writeObjectflush不要拋出IOException s而是成功。ObjectOutputStream Android上的IOException /超時

我假設有這些調用發生內部緩衝,這是它的成功的原因?在Socket成功創建後,有沒有什麼辦法可以通過writeObject或其他方式知道節點何時關閉?

值得注意的是,由於性能原因TCP Socket打開,因此每設置connect的超時是不可能的。

+0

顯示您的代碼。其他人更容易幫助你。 – rajath 2011-04-27 08:01:02

回答

0

意外時,接收節點 模具我需要知道它的權利 遠(秒內)

你不能。 TCP不會告訴你。它不知道。它忙於做緩衝和重試。它最終會超時,如果你在之後做了寫操作,你將會得到例外。對於需要多長時間無法控制。

相關問題