4

私の目的は、サーバーからオブジェクトを要求するために使用される Java ソケットに基づく単純な要求応答パターンを実装することです。

次のように動作するはずです。

  1. クライアントは、サーバーが評価するメッセージをサーバーに送信します。彼が受け取ったものに応じて、特定の機能が呼び出されます。この部分は機能します。
  2. サーバーは、要求されたデータを ObjectOutputStream に書き込みます。これも機能しますが、少なくともエラーは発生しませんでした。
  3. クライアントは、プログラムに while ループを終了させる CLOSE メッセージを受け取るまで、入力ストリームからデータを読み取ります。これは正常に機能しません。

いくつかの重要なコード フラグメントを次に示します。

// Client (Sending request) *** WORKS

objectOutputStream.writeInt(GET_OBJECT); 
objectOutputStream.flush();


// Server (After receipt of the message) *** WORKS
objectOutputStream.writeInt(object);
objectOutputStream.writeInt(CLOSE);



// Client (Reading the answer from the server) *** WRONG

while(true){
int i = objectInputStream.readInt(); 
if(i == CLOSE)
break;   
}
4

1 に答える 1