我有一个客户端类和一个服务器类。如果我在 jvm 会话期间多次尝试使用此方法,则有一个客户端方法用于调用服务器,并且我的代码会挂起。
客户端代码的主要方法:
methodA();
methodA();
ois.close(); //ObjectInputStream
oos.close(); //ObjrctOutputStream
is.close(); //InputStream
os.close(); //OutputStream
socket.close();
客户端代码methodA()
如下所示:
os = socket.getOutputStream();
oos = new ObjectOutputStream(os);
oos.writeObject(obj);
is = socket.getInputStream();
ois = new ObjectInputStream(is);
Object o = ois.readObject();
服务器代码的主要方法如下所示:
while (true) {
Socket socket = serverSocket.accept();
is = socket.getInputStream();
ois = new ObjectInputStream(is);
Object o = ois.readObject();
servermethod();
}
oos.close();
ois.close();
is.close();
os.close();
serverSocket.close();
服务器的serverMethod()
样子:
os = socket.getOutputStream();
oos = new ObjectOutputStream(os);
Object ob = getObject() ; //this method is working fine
oos.writeObject(ob);
我想做的是让客户端使用methodA()
. 我可能没有正确处理流。有什么帮助吗?