1
 def on_message(self, message):

     for client in ChatWebSocket.clients:
         print(client)
         t=json.loads(message)
         client.write_message(json.dumps('Content-type:application/json\n')) 
         client.write_message(json.dumps({'a':t['b']}))
         print(t['b'])

问题是客户端像普通字符串一样接受它而不是标题请帮助

4

1 回答 1

4

来自Tornado 的文档

WebSocketHandler.write_message(message, binary=False)

将给定消息发送到此 Web Socket 的客户端。

消息可以是字符串字典(将被编码为 json)。如果 binary 参数为 false,则消息将作为 utf8 发送;在二进制模式下,任何字节串都是允许的。

所以你不需要倾倒任何东西。只需按原样发送 dict,Tornado 无论如何都会将其编码为 JSON:false,消息将作为 utf8 发送;在二进制模式下,任何字节串都是允许的。

所以你不需要倾倒任何东西。只需按原样发送字典,Tornado 就会

def on_message(self, message):
  for client in ChatWebSocket.clients:
    print(client)
    t = json.loads(message)
    client.write_message({'a': t['b']})
    print(t['b'])
于 2013-06-13T14:56:49.783 回答