2015-05-04 35 views
-1

在我的計劃,我使用的ObjectInput和一的ObjectOutput服務器和客戶端之間的數據流。在處理我的項目時,我做了很多副測試類和項目,以便爲我測試新工具,有時當我使ObjectInputStream陷入困境時。我看着甲骨文也看看他們是否有答案,但我不能完全說出我需要做什麼。如何解鎖Java ObjectInputStream?

Oracle說「A序列化流報頭從流讀取和驗證。此構造方法將阻塞,直到相應的ObjectOutputStream寫和沖洗頭」。

據我所知,數據必須串行發送和我的類實現可序列化,雖然我有一種感覺,它不會做很多工作來解決我的問題。在一些測試項目中,我一直在使我的ObjectInputStreams運行良好,有時會凍結。

任何幫助將不勝感激,謝謝

回答

0

你的問題是相當模糊的,但通常每個節點將創建既是ObjectOutputStream和同一插座上的ObjectInputStream。它必須按照這個順序來完成,否則你可能會發生死鎖,並且出於同樣的原因,只要你獲得套接字,就需要在兩端完成。

+0

對不起,含糊不清的問題,但感謝您的回答。只是爲了確認我正在採取的措施是服務器端必須在客戶端之前啓動其對象輸入/輸出流?另外,當您先進入或退出時,訂單是否重要? –

+0

我只能建議你再讀一次我的答案。我清楚地表達了自己的看法,並且提到了剛剛提出的一切。 – EJP