我试图在Android中专门使用MQTT客户端的实现Paho Java client,并尝试跟踪我遇到EOFException错误的位置。
具体而言,这发生在in.readByte();
。
public final byte readByte() throws IOException {
int temp = in.read();
if (temp < 0) {
throw new EOFException();
}
return (byte) temp;
}
看过这个例外,当我试图从已经关闭的套接字中读取时,它似乎被触发了。这似乎是一个网络错误,我无法找到。
我的问题是什么可能导致套接字关闭?我还没有排除以编程方式关闭它的可能性,但是在外部因素的情况下,TCP套接字关闭的常见原因是什么?也许与Android设备有关的任何更具体的原因?
答案 0 :(得分:2)
通常导致套接字关闭的事情是:
如果没有关于您的特定症状的更多详细信息,很难说哪一种最有可能。