サーバーを実装しようとしていますが、メッセージを受信すると次のようになります。
try{
ObjectInputStream is = new ObjectInputStream(clientSocket.getInputStream());
String message = (String)is.readObject();
ActivateCommand(message,clientSocket);
is.close();
}
およびActivateCommand:
private void ActivateEwolfCommand(String msg, Socket clientSocket) throws IOException
{
ObjectOutputStream os = new ObjectOutputStream(clientSocket.getOutputStream());
Gson gsonObject = new Gson();
.
//code which makes a Json string
.
os.writeObject(json);
os.close();
}
今、junitテストでローカルホストにメッセージを送信してテストしたところ、機能しました。しかし、C#クライアントからサーバーに接続しようとすると、クライアントは接続しましたが、clientSocket.getInputStream()のポイントに到達すると、サーバーはEOF例外をスローします。メッセージがいつ終了するかをサーバーが知らなかったために発生したと思いますが、それが実際に当てはまるかどうかはわかりません。そうである場合は、どうすれば修正できますか?