【问题标题】:Socket System EOFException (ObjectInputStream)套接字系统 EOFException (ObjectInputStream)
【发布时间】:2018-05-23 11:13:45
【问题描述】:

嘿,我正在编写一个带有开放 src 库的套接字系统... 每当我发送消息或其他东西时,我都会收到 EOFException

public Datapackage sendMessage(Datapackage message, int timeout) {
    try {
        Socket tempSocket;
        if (secureMode) {
            tempSocket = ((SSLSocketFactory) SSLSocketFactory.getDefault()).createSocket(address.getAddress(),
                    address.getPort());
        } else {
            tempSocket = new Socket();
            tempSocket.connect(address, timeout);
        }

        ObjectOutputStream tempOOS = new ObjectOutputStream(tempSocket.getOutputStream());
        message.sign(id, group);
        tempOOS.writeObject(message);

        ObjectInputStream tempOIS = new ObjectInputStream(tempSocket.getInputStream());
        Object raw = tempOIS.readObject();

        tempOOS.close();
        tempOIS.close();
        tempSocket.close();

        if (raw instanceof Datapackage) {
            return (Datapackage) raw;
        }
    } catch (Exception ex) {
        onLogError("[Client] Error while sending message:");
        ex.printStackTrace();
    }

    return null;
}

请任何人帮助我:c

【问题讨论】:

  • (异常在“ObjectInputStream tempOIS = new ObjectInputStream(tempSocket.getInputStream());”这一行)
  • @ThomasEdwin 不,不是。

标签: java sockets eofexception


【解决方案1】:

对等方已关闭连接,但未创建ObjectOutputStream。几乎可以肯定它根本没有使用序列化。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-16
    • 2018-11-12
    • 1970-01-01
    • 1970-01-01
    • 2012-12-22
    • 2018-05-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多