我目前正在开发一个 Java WebSocket 客户端应用程序,我必须确保客户端收到来自服务器的每条消息。由于连接中断,我是否可能丢失一些消息(一旦从服务器发送消息)? WebSocket 基于 TCP,所以这种情况不应该发生,对吗?
这有可能发生。 TCP保证数据包的顺序,但并不意味着即使底层网络发生不可恢复的故障,从服务器发送的所有数据包都会到达客户端。想象一下,当您的应用程序与服务器通信时,有人在最糟糕的时机拔掉您的 LAN 电缆或关闭您的 WiFi 接入点。 TCP并没有克服这样的麻烦。
为了确保从服务器发送的每个 WebSocket 消息都能到达客户端,您必须在应用程序层实现某种 SYN/ACK。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)