Quantcast
Channel: 質問!ITmedia 新着質問(Java/253)
Viewing all articles
Browse latest Browse all 2439

OptionalDataException例外

$
0
0
ソケットを介したオンラインゲームを作るためその雛形として、同じ画面を共有して自分のキャラクターを上下左右に動かせるプログラムを組んでいます。 しかしプログラムを走らせてしばらくキャラを動かして見るとサーバー側のObjectInputStreamのreadObject()メソッドでOptionalDataException例外が出てしまいます。タイミングはキャラを動かした瞬間からしばらく問題なく動かせていたのにいきなりだったりとまちまちです。 接続したクライアントの数は1~2つですが、1つでもエラーになります。 色々試したのですがうまくいきません。何か気づいた方がいらっしゃればご教示願います。 ・プリミティブ型データは送信していないはず ・(クライアント側)Thread.sleep(20)のループ機構の中でキーさえ押されていれば毎回その情報を送信する。 複数のキーを入力しているとき(斜め移動)のほうがエラーになりやすい気がする? ・(サーバー側)Thread.sleep(20)のループ機構の中で毎回キャラの位置情報を送信する。 ・swingでスレッドを使ってます。スレッドの数はクライアント側は2つ(送信時に使うスレッド有)、サーバー側は2つ+ソケットの分だけ(と、送信時に使うスレッド)。 ・StreamCorruptedExceptionが出たことがある

Viewing all articles
Browse latest Browse all 2439

Trending Articles