TCP套接字中的IOException和EOFException有什么区别

时间:2018-09-18 01:18:48

标签: java

我是Java初学者,不熟悉Java套接字编程。我需要处理客户端断开连接的事件。我搜索了如何使用Java中的read *,write *函数来检测套接字断开连接,有人说:

5.10

我不太确定EOFException是什么意思,EOFException和IOException之间有什么区别。官方手册说EOFException“在输入过程中意外到达文件末尾或流末尾的信号。”但是我仍然不明白TCP套接字连接中的含义。这是否意味着称为close()函数的tcp连接?什么原因会导致tcp连接的IOException?非常感谢。

1 个答案:

答案 0 :(得分:1)

EOF ExceptionIO Exception的特例。 (它是IOException的子类)。 EOF表示“文件结尾”,而EOF异常表示意外到达文件结尾(或您的情况下的任何流)。这只是可能导致IOException的情况。

对于您而言,您的读取失败意味着连接已断开。因此,由于存在连接问题,因此流已到达末尾。因此,请检查网络连接或另一端的套接字是否有问题。

这些答案也可能对您有所帮助。 https://stackoverflow.com/a/10724508/4848659

有关ChangedCharSetException, CharacterCodingException, CharConversionException, ClosedChannelException, EOFException, FileLockInterruptionException, FileNotFoundException, FilerException, FileSystemException, HttpRetryException, IIOException, InterruptedByTimeoutException,的IOException整个子类集,请参见docs。...