インターネット上で実行されるマルチプレイヤー ゲームを作成しようとしています。問題は、ストリームで入力を取得しようとしていて、何らかの理由で 1 つのソケットで 2 つのストリームを作成できないことです。説明します。
Socket s=new Socket("127.0.0.1",5001);
ObjectInputStream obj1=new ObjectInputStream(s.getInputStream());
ObjectInputStream obj2=new ObjectInputStream(s.getInputStream());
このコード スニペットが機能しない理由を説明してもらえますか?
編集: 動作しないコード サンプルの別の例を次に示します。
while (true) {
try {
objI = new ObjectInputStream(sock.getInputStream());
objO = new ObjectOutputStream(sock.getOutputStream());
}catch(Exception e) {
e.printStackTrace();
}
}
編集2:答えてくれてありがとう。オブジェクトをフラッシュしようとしましたが、このエラーが発生し続けます:
java.io.StreamCorruptedException: invalid stream header: 33740003
at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
at java.io.ObjectInputStream.<init>(Unknown Source)
at Proccess.run(Proccess.java:22)
at java.lang.Thread.run(Unknown Source)