我試圖通過網絡發送一個對象到另一臺計算機(或同一臺計算機),然後讓計算機發回一個對象。套接字早期多次傳輸
在發送計算機上,我發送的對象和接收返回的對象:
ObjectOutputStream objectOutputStream = new ObjectOutputStream(socket.getOutputStream());
objectOutputStream.writeObject(object);
Object returnedObject;
socket.setSoTimeout(timeout);
try (ObjectInputStream ois = new ObjectInputStream(socket.getInputStream())) {
returnedObject = (Object) ois.readObject();
}
return returnedObject;
在接收計算機,我接收對象:
Object object;
socket.setSoTimeout(timeout);
try (ObjectInputStream ois = new ObjectInputStream(socket.getInputStream())) {
object = (Object) ois.readObject();
}
return object;
然後發送對象返回:
socket.setSoTimeout(timeout);
ObjectOutputStream objectOutputStream = new ObjectOutputStream(socket.getOutputStream());
objectOutputStream.writeObject(object);
的錯誤我得到的回覆是:
重度:空java.net.SocketException異常:套接字在 java.net.Socket.setSoTimeout(Socket.java:1137)在
關閉,它同時嘗試發送對象返回發生在接收計算機上。
發送計算機上的套接字使用與接收計算機上的套接字相同的地址和端口。