我需要一些幫助,以解決以下問題:如何在沒有服務器響應的情況下建立一個穩定的tcp-socket連接?
我在構造函數中打開一個tcp-socket,然後繼續通過對象輸出流向服務器提供一個對象。我無法控制服務器,也不會收到任何迴應。
如何檢測到連接丟失?試圖寫入時,我總是會得到IOExeption-Error?因爲根據javadoc一旦連接成功,大部分檢查對我來說基本上是無用的。
此外,重新連接套接字的最佳方法是什麼?將參考設置爲「空」,然後創建一個新的?
這是我目前的做法:
我有一個狀態列表中,我有以下幾種狀態: SocketSuccess; SocketFailure; MessageSuccess; MessageFailure;
我的想法有點像狀態機,所以先檢查最後狀態是什麼。如果連接成功或最後一條消息成功,則嘗試發送消息。當我得到一個IOExeption,然後設置狀態MessageFailure,在本地保存消息,直到我再次獲得成功的連接。
或者是否有這種情況下推薦的模式?
什麼'因爲根據javadoc一旦連接成功,大部分檢查對我來說基本上是無用的'是什麼意思?無用爲什麼? – EJP