【问题标题】:SocketException inside IOExceptionIOException 中的 SocketException
【发布时间】:2014-12-23 12:54:50
【问题描述】:

我在带有 try-catch IOException 的代码部分中收到 java.net.SocketException,但没有输出错误。 SocketException 是 IOException 的继承者,为什么?

try {
        Socket net = new Socket(TARGET, PORT);
        sendRawLine("GET / HTTP/1.1", net);
        sendRawLine("request", net);
        net.close();
    } catch (IOException e) {
        // System.out.println(e);
    }

java.net.SocketException: Connection reset
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:118)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:159)
    at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
    at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
    at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295)
    at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141)
    at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
    at java.io.BufferedWriter.flush(BufferedWriter.java:254)
    at com.Joorvish.sendRawLine(Joorvish.java:125)
    at com.Joorvish.createSockets(Joorvish.java:99)
    at com.Lorento.run(Lorento.java:15)
    at java.lang.Thread.run(Thread.java:744)
java.net.SocketException: Broken pipe
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:159)
    at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
    at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
    at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295)
    at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141)
    at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
    at java.io.BufferedWriter.flush(BufferedWriter.java:254)
    at com.Joorvish.sendRawLine(Joorvish.java:125)
    at com.Joorvish.createSockets(Joorvish.java:100)
    at com.Lorento.run(Lorento.java:15)
    at java.lang.Thread.run(Thread.java:744)

【问题讨论】:

  • 非常简单。如果您需要进一步的帮助粘贴您的代码并告诉我们您做了什么以及您期望什么,为什么您需要在这里阅读一个衬垫docs.oracle.com/javase/7/docs/api/java/net/SocketException.html
  • @chiastic-security 第 15 行只是使用此代码执行一个方法
  • at com.Joorvish.sendRawLine(Joorvish.java:125) at com.Joorvish.createSockets(Joorvish.java:99) 这让我怀疑sendRawLine 被错误地使用了。你有关于该方法的文档吗?
  • 您需要发布此代码出现的整个方法及其签名,以及调用它的第 15 行。
  • @Andy 所以你需要发布sendRawLine()的代码进行评估。这肯定很明显吗?以及对代码的要求?和堆栈跟踪?您究竟希望人们如何在这里帮助您?魔法?

标签: java try-catch ioexception socketexception


【解决方案1】:

java.net.SocketException: 损坏的管道

这意味着您已写入已被对等方关闭的连接。其原因几乎可以肯定是您编写的 HTML 无效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-02
    • 2013-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-09
    相关资源
    最近更新 更多