gpt4 book ai didi

java - 在 CLOSE-WAIT 中写入 SocketChannel

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

我注意到,当底层连接处于 CLOSE-WAIT 状态时,SocketChannel.write 不会引发任何异常。这是预期的行为吗?如果是这样,我如何确定连接尚未ESTABLISHED

最佳答案

第一次不应抛出异常。连接可能仍然是可写的。 CLOSE_WAIT 表示已收到传入的 FIN。这意味着另一端已经完成写入。它可能仍在读取:它可能只是关闭了输出连接。所以TCP必须写入数据。如果对等方已关闭整个连接,它将在收到写入后发出 RST,您将在后续写入时体验到连接重置。

您的应用程序协议(protocol)应该使得不可能写入由对等方关闭的连接,或者在出现错误之前可以完成多次写入。 TCP 不可能在第一次这样的写入时给你一个错误。

关于java - 在 CLOSE-WAIT 中写入 SocketChannel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6562730/

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