我正在使用socket.io连接智能手机(在Web框架中)到服务器并发送一些消息(每分钟几个短字符串,没有大的内容)。由于智能手机经常会有不稳定的连接,所以socket.io被迫不时重新连接。它会自动执行此操作,并将我想要发送的消息缓冲起来,一旦重新建立连接,这些消息就会作为一个包发送出去。因此,socket.io表现良好。
但是当我在socket.io注意到连接断开之前发送一条消息时,该消息会丢失。它不能被传输,但它也没有被socket.io缓冲。我对socket.io感到相当满意,但是这个问题困扰着我,因为我不发送很多消息,但确实需要那些我发送的可靠性。当连接建立时,所有消息都会完美地传输,因此我不需要检查。只有连接丢失和socket.io注意到它之间的第二个是我面临数据包丢失的关键时刻。
我一直在考虑模仿TCP行为,使用序列号和ACK,但感觉有点浪费。因此我的问题是:是否有人有轻量级的解决方案或遇到了此问题?我甚至不要求明确的代码-我可以自己写-但是消除这个特定问题的概念或类似的东西将是很棒的。
谢谢!
但是当我在socket.io注意到连接断开之前发送一条消息时,该消息会丢失。它不能被传输,但它也没有被socket.io缓冲。我对socket.io感到相当满意,但是这个问题困扰着我,因为我不发送很多消息,但确实需要那些我发送的可靠性。当连接建立时,所有消息都会完美地传输,因此我不需要检查。只有连接丢失和socket.io注意到它之间的第二个是我面临数据包丢失的关键时刻。
我一直在考虑模仿TCP行为,使用序列号和ACK,但感觉有点浪费。因此我的问题是:是否有人有轻量级的解决方案或遇到了此问题?我甚至不要求明确的代码-我可以自己写-但是消除这个特定问题的概念或类似的东西将是很棒的。
谢谢!