java socket ObjectInputStream

时间:2016-07-31 05:28:22

标签: java sockets serialization tcp objectinputstream

meteor reset

您好, 我应该从两个客户端收到一个数组。我只能从客户端收到并提示如下错误:提前致谢

inStream = new ObjectInputStream(this.socket.getInputStream());
Packet rank = (Packet)inStream.readObject();

1 个答案:

答案 0 :(得分:1)

  

我应该从两个客户端收到一个数组。我只能从客户端收到并提示这样的错误

 java.net.SocketException: Connection reset

我认为你可能会误解套接字是如何工作的。套接字表示一个客户端和一个服务器之间的连接。您似乎在说,您希望从单个Socket的2个不同客户端获取数据。这是不可能的。它没有意义。对于服务器正在与之通信的每个客户端,您需要单独的Socket

您所看到的(连接重置)是可解释的:对等方(即客户端或客户端的操作系统)由于某种原因重置了连接。 Java(?)客户端应用程序可能会调用close()shutdownOutput(),或者它可能刚刚退出。

(您还没有向我们展示足够的代码来建议解决问题的最佳方法。套接字是由客户端还是服务器打开的?)