gpt4 book ai didi

Java 套接字第二次写入尝试失败

转载 作者:行者123 更新时间:2023-12-02 00:43:26 25 4
gpt4 key购买 nike

我有一个功能:

...
socket.getOutputStream().write("something".getBytes());
socket.getOutputStream().flush();
...

工作正常。保持套接字打开。尝试再次调用此函数,但收到错误:java.net.SocketException:损坏的管道

尽管事实

socket.isClosed - false
socket.isOutputShutdown - false
socket.isConnected - true

最佳答案

很可能另一端已关闭连接。第一次写入也可能失败,因为 write() 不能保证交付。只有当它知道另一端没有监听时,您才会收到异常。

isClosed 表示;我关闭了连接吗

isOutputShutdown 表示;我关闭输出了吗

isConnected 表示;有没有连接过

检测连接是否真正建立的唯一方法是从另一端获得响应,告诉您它已收到您的数据。例如对心跳的 react 。如果没有该响应(必须是协议(protocol)的一部分),您无法确定另一端已收到它。

关于Java 套接字第二次写入尝试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5673237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com