如何确保消息使用 WebSockets 到达目的地?
Posted
技术标签:
【中文标题】如何确保消息使用 WebSockets 到达目的地?【英文标题】:How do I make sure a message gets to its destination using WebSockets? 【发布时间】:2010-12-25 02:01:56 【问题描述】:我仍在尝试找出 WebSockets。 我将来自 javascript 客户端的数据作为 JSON 字符串发送到 python 服务器,但它们到达时是零散的。
如何确保在开始解析之前收到完整的消息?
【问题讨论】:
【参考方案1】:您需要阅读一般的套接字编程。
从 websocket 读取一些数据并不意味着你已经收到了对方想要发送的所有内容。
理想情况下,您应该在消息前面加上一个包含有效负载大小的标头。然后,在您读取标头(例如,以 LF 终止,或固定为 4 个字节等)后,您可以准确计算出要读取多少字节才能获得完整消息。
之后您阅读的任何内容都会成为您的下一个标题。等等。
【讨论】:
您可以通过发送类似以下内容来简化此概念:26:abcdefghijklmnopqrstuvwxyz
.. 然后您就知道在 26 个字符(或字节或您希望使用的任何内容)之后,消息结束,另一个开始。
以上是关于如何确保消息使用 WebSockets 到达目的地?的主要内容,如果未能解决你的问题,请参考以下文章