gpt4 book ai didi

java - 什么会导致 Java TCP 套接字关闭?

转载 作者:可可西里 更新时间:2023-11-01 02:40:51 25 4
gpt4 key购买 nike

我正在尝试专门使用 MQTT 客户端的实现 Paho Java client在 Android 中,并试图追踪我在哪里得到一个 EOFException错误。

具体来说,这发生在 in.readByte(); 上。

public final byte readByte() throws IOException {
int temp = in.read();
if (temp < 0) {
throw new EOFException();
}
return (byte) temp;
}

查看此异常后,它似乎是在我尝试从已关闭的套接字中读取时触发的。这似乎是一个网络错误,我无法定位。

我的问题是什么会导致套接字关闭?我还没有排除它以编程方式关闭的可能性,但在外部因素的情况下,TCP 套接字关闭的常见原因是什么?也许还有与 Android 设备相关的更具体的原因?

最佳答案

通常导致套接字关闭的原因是:

  • 客户端关闭套接字
  • 服务器关闭套接字,可能是由于超时
  • 服务器关闭并在关闭之前或重启之后发出重置,这将关闭套接字
  • 防火墙超时连接并通过发出后续重置有效地关闭套接字

如果没有关于您的具体症状的更多详细信息,很难说其中哪一种最有可能。

关于java - 什么会导致 Java TCP 套接字关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30712976/

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