从Socket抛出EOFException创建ObjectInputStream

时间:2018-05-10 19:27:23

标签: java sockets objectinputstream datainputstream eofexception

我会试着简单地说。

类构造函数'B'接收套接字作为参数,它来自类'A'。在A中,套接字用于使用DataInputStream和DataOutputStream进行I / O.套接字和流都没有被A关闭。

然后,在B中我尝试从同一个套接字创建一个ObjectInputStream,但是我在OIS中得到一个空引用,并且抛出了EOFException。我不知道为什么会这样。也许我不能在不同类型的流中重用套接字。

我已阅读了许多相关问题,但没有人使用套接字。一些代码。

public HiloLoginHandler(Socket _socket) { // this is class 'A'
    socket = _socket;
        bytesOut = new DataOutputStream(socket.getOutputStream());
        bytesIn = new DataInputStream(socket.getInputStream());

}

public ClientInputHandler(Socket _socket) { // This is Class 'B'
        socket = _socket;

        InputStream is= socket.getInputStream();    
        ObjectInputStream in= new ObjectInputStream(is); // EOFException here
} 

0 个答案:

没有答案
相关问题