【问题标题】:java sockets SocketException socket closedjava sockets SocketException 套接字关闭
【发布时间】:2016-02-17 21:46:56
【问题描述】:

我扩展了 Socket 类并遇到了一些我不理解的错误,所以我寻求您的帮助。下面是一个简短的 sn-p - 没什么。如果我插入了错误的主机地址,第一次它会给出错误operation time out。但是,随后当我尝试使用有效地址时,错误显示socket closed。我没有明确关闭套接字,println 说socket closed is false。知道为什么套接字关闭了吗?

java.net.SocketException: Socket closed
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:432)
    at java.net.Socket.connect(Socket.java:529)
    at edu.astar.i2r.ppdf.exchange.p2p.PeerClient.connect(PeerClient.java:251)
    at edu.astar.i2r.ppdf.exchange.p2p.PeerClient.connectToServer(PeerClient.java:89)
    at edu.astar.i2r.ppdf.demo.ui.client.peertopeer.P2PParamsPage$1.actionPerformed(P2PParamsPage.java:87)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)



@Override
    public void connect(SocketAddress endPoint) throws IOException{
        System.out.println("socket closed is " + this.isClosed());
        super.connect(endPoint);
        logger.info("Connected to server...");

        this.ostream = new ObjectOutputStream(this.getOutputStream());
        this.istream = new ObjectInputStream(this.getInputStream());

【问题讨论】:

    标签: java sockets


    【解决方案1】:

    这个异常意味着您的应用程序已经关闭了套接字,现在正试图继续使用它。

    【讨论】:

      【解决方案2】:

      有可能在整个程序的某个地方,您调用了对套接字本身或 ObjectOutputStream 或 ObjectInputStream 或程序中使用的任何其他读取器/写入器的 close()。 尝试注释掉整个程序中的所有 .close() 语句,然后再次运行程序。发现问题后不要忘记将它们取消注释。

      【讨论】:

        猜你喜欢
        • 2014-09-09
        • 2023-03-03
        • 2016-07-27
        • 1970-01-01
        • 2021-12-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多