我的目标是实现一个基于 Java 套接字的简单请求-响应模式,用于从服务器请求对象。
它应该像这样工作:
- 客户端向服务器发送一条消息,服务器对此进行评估。根据他收到的内容,调用某个函数。这部分有效。
- 服务器将请求的数据写入 ObjectOutputStream。这也有效,至少我没有收到错误。
- 客户端从输入流中读取数据,直到他收到一个关闭消息,该消息使程序退出while循环。这不能正常工作。
以下是一些关键的代码片段:
// 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;
}