相关疑难解决方法(0)

如何修复java.net.SocketException:管道坏了?

我正在使用apache commons http客户端使用post方法调用url来发布参数,并且它很少抛出以下错误.

java.net.SocketException: Broken pipe
        at java.net.SocketOutputStream.socketWrite0(Native Method)
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
        at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105)
        at java.io.FilterOutputStream.write(FilterOutputStream.java:80)
        at org.apache.commons.httpclient.methods.ByteArrayRequestEntity.writeRequest(ByteArrayRequestEntity.java:90)
        at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:499)
        at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2114)
        at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
        at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
Run Code Online (Sandbox Code Playgroud)

有人可以建议导致此异常的原因以及如何调试它吗?

java sockets post exception

144
推荐指数
4
解决办法
44万
查看次数

为什么会出现"java.net.SocketException:Broken pipe"?

我写了一个简单的套接字程序,它工作正常,但我的朋友使用端口扫描工具,当它扫描到我正在使用的端口时,它用"java.net.SocketException:Broken pipe"错误,发生什么事了?以及如何解决?

providerSocket = new ServerSocket(portNum);
connection = providerSocket.accept();
if (connection.getOutputStream() != null) {
    //this line crash!!!
    out = new ObjectOutputStream(connection.getOutputStream());
    out.flush();

}
Run Code Online (Sandbox Code Playgroud)

控制台的详细错误:

java.net.SocketException: Broken pipe
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
    at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1847)
    at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1756)
    at java.io.ObjectOutputStream.<init>(ObjectOutputStream.java:230)
Run Code Online (Sandbox Code Playgroud)

java sockets

7
推荐指数
1
解决办法
6万
查看次数

标签 统计

java ×2

sockets ×2

exception ×1

post ×1