2
WriteFuture writeFuture = session.write(message);
writeFuture.addListener(this);
writeFuture.awaitUninterruptibly();
sentMessage = writeFuture.isWritten();
發送消息之前,我從網絡斷開(拉電纜)服務器,以便不可能被髮送的消息。然而,sentMessage無論如何都會返回true。在wiresharks輸出你可以看到三個TCP重傳(顯然沒有ack)。在多了幾條消息(與第一條消息不一樣)後,它會意識到鏈接已關閉並返回false。
我以爲這是寫()告訴你,如果數據包發送成功,但顯然不是這樣。我怎麼知道包是否已經到達?我試過邁納版本2.0.7和2.0.4