当on_message调用时,toronto-websocket得到多条消息



我使用toronto-websocket发送/recv消息,客户端发送json消息,服务器发送recv消息和json解析,但为什么服务器会得到多个json消息的消息,比如{"a":"v"}{"a":"c"},如何处理这个消息

也许你应该对你发送的消息进行分隔,这样就可以很容易地将它们分开——在这种情况下,你可以添加一个\n,显然分隔符不能出现在消息中。另一种方法是以一种明确界定的方式为每条消息加上长度前缀,然后接收器读取长度,然后读取字节数并对其进行解析

我编写了一个函数来解析此消息

def parse_multi_msg(msg):
  is_in_quotation = False
  aObjs = []
  sTemp = ""
  for c in msg:
    sTemp += c;
    if c == '"':
      if not is_in_quotation:
        is_in_quotation = True
      else:
        is_in_quotation= False

    if c == "}" and not is_in_quotation:
      aObjs.append(json.loads(sTemp));
      sTemp = "";
  return aObjs

相关内容

  • 没有找到相关文章

最新更新