gpt4 book ai didi

java - mina writefuture 返回 written=true 尽管失败

转载 作者:可可西里 更新时间:2023-11-01 02:43:49 26 4
gpt4 key购买 nike

这是代码

                WriteFuture writeFuture = session.write(message);
writeFuture.addListener(this);
writeFuture.awaitUninterruptibly();
sentMessage = writeFuture.isWritten();

在发送消息之前,我将服务器与网络断开连接(拉线),这样就无法发送消息。但是,sentMessage 无论如何都会返回 true。在 wiresharks 输出上,您可以看到三个 TCP 重传(显然没有确认)。再发送几条消息(与第一条消息不同)后,它将意识到链接已关闭并返回 false。

我以为 isWritten() 会告诉您数据包是否已成功发送,但显然事实并非如此。我怎么知道包裹是否到达?我试过 mina 版本 2.0.7 和 2.0.4

最佳答案

当消息被推送到内核时,宣告写入成功。这就是套接字的工作方式,您无法知道何时发送或确认 TCP 消息

关于java - mina writefuture 返回 written=true 尽管失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15293312/

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