我有一個應用程序處理多種Java套接字連接到不同種類的遠程機器(某些PC,其他是嵌入式設備)。這些套接字和流不應該無限期關閉,除非有一個很好的原因(例如遠程系統崩潰)。Java套接字流意外終止
我經常遇到,其中輸入流意外結束,不需要任何理由(值是-1),即在遠程機器並不表示一連接中止的問題。但是,當我放棄這些-1讀取並繼續從流中讀取時,遠程機器實際上稍後會發送新數據。這可能會持續很長時間。我也可以寫入輸出流。
在當前形勢下,我有治療-1作爲流的末尾之間的選擇和關閉套接字(誤報),或忽略-1投入和風險尚未收到通知的真正斷開的。
我一直沒能創造這一問題的工作示例和出現的問題隨機。
任何想法有什麼不對?
修改爲添加: Java端點是對現有VB應用程序的重寫,沒有這些問題(至少據我所知)。
我認爲在你的源代碼中窺視會有所幫助。 – 2009-11-01 13:57:17
謝謝,但正如我所說,我還沒有創建一個簡單的,工作的問題的例子,整個事情是太多的代碼。 – 2009-11-01 14:36:23
「太多代碼」,可能是您的問題的一部分。它不應該那麼複雜。 – 2009-11-01 16:03:27