2016-03-23 14 views
1

私はサーバーと多数のクライアントを持っています。彼らはJavaソケットを介してお互いに通信しています。私は、メッセージを含むメッセージライブラリを作成しました。メッセージライブラリは送信する必要があります。多くのメッセージは完璧に機能しますが、メッセージに問題があります。私はメッセージのようなものを送りたい場合は、私は次の例外を取得:StreamCorruptedException:無効なストリームヘッダー:73720024

java.io.StreamCorruptedException:無効なストリームヘッダ:java.io.ObjectInputStream.readStreamHeaderで73720024 (ObjectInputStream.java:806) java.io.ObjectInputStreamで 。loadbalancer.socket.SocketCommunicator.socketMessageHandler(SocketCommunicator.java:147)でmessages.MessageHandler.receiveMessageNonBlocking(MessageHandler.java:156) で(ObjectInputStream.java:299) loadbalancer.socketで.SocketCommunicator.run(SocketCommunicator.java:93)

クライアントとサーバーが同じコンピューター上で実行されていても、問題が発生していない場合は問題は発生しません。リモートコンピュータは、同じオペレーティングシステム、同じJavaバージョンを使用します。

あなたは何を確認すべきかアドバイスしていますか?

答えて

0

両端でwriteObject()readObject()しか使用していないこと、そして両端で再び同じオブジェクトストリームを使用していることを確認する必要があります。 72730024には、ASCIIテキストの外観があります。

+0

私はすでに両方の端で同じオブジェクトを使用しており、writeObject()とreadObject()メソッドのみを使用していることを確認しました。私がそれらを使用しない場合、他のメッセージも失敗するはずです。どこでエラーコードを確認できますか教えてください。私は72730024がASCIIテキストを参照していることを知らなかった。 –

+0

私は新しく始めました。エラーコードは73720028に変更されました。 –

+0

あなたは何か間違ったものを送りました。数字を16進数として扱い、ASCIIコードを調べます。また、同じソケットで他のストリームを使用していないことを確認する必要があります。 – EJP

関連する問題