根据Java文档,read()方法返回:
我不太明白“流结束”是什么意思。
目前,当发生这种情况时,我会关闭/重新打开套接字(我从谷歌搜索中了解到这是一种可接受的处理方式)。 -1可能是“正常”行为吗?我不应该这么大的反应吗?也许最好只对IOException感到不安?
套接字创建:
clientSocket = new Socket(InetAddress.getByName(remoteHost), remotePort, InetAddress.getByName(sourceIpAddress), 0);
一些背景资料:
答案 0 :(得分:2)
套接字的另一端关闭了流,因此没有更多数据可供阅读 - 您已经到了最后。我进一步使用Wireshark等网络监视器进行诊断,了解套接字关闭的原因。