gpt4 book ai didi

java - 如何处理网络中断并克服它而不丢失数据?

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

我正在尝试 Netty,它是一个异步事件驱动的网络应用程序框架。在我的应用程序中,假设服务器和客户端在聊天应用程序中相互发送消息。由于 WiFi 不可用,客户端突然与网络断开连接。服务器不知道这一点,继续向客户端发送消息。但客户无法收到这些。这要怎么处理呢?从服务器发送的消息很重要。

最佳答案

您写道从服务器发送的消息很重要。因此,我假设您希望确保消息不仅到达客户端计算机,而且还由客户端应用程序显示/处理/存储。

即使您的服务器代码访问服务器端的 TCP ACK 信息,也只能告诉您数据是由客户端计算机的 TCP 堆栈处理的,而不是由应用程序处理的。客户端应用程序代码需要向服务器发送其已接收并处理消息的确认。如果服务器应用程序代码在一定时间内没有收到来自客户端应用程序的确认,则应重新传输消息。这意味着客户端应用程序需要处理可能因重新传输而出现的重复消息。它会通过发送一个确认然后丢弃消息来做到这一点。

关于java - 如何处理网络中断并克服它而不丢失数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26696327/

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