简体   繁体   中英

how to send json header via python tornado in a websocket?

#!C:/Python27/python.exe -u 
import tornado
import tornado.websocket
import tornado.wsgi
import tornado.web
import tornado.httpserver
import tornado.tcpserver
import json

from py2neo import neo4j, cypher
graph_db = neo4j.GraphDatabaseService()
class request(tornado.web.RequestHandler):
    def  sr():
        self.set_header('Content-type','application/json')
class ChatWebSocket(tornado.websocket.WebSocketHandler):
    clients = []
    def open(self):
        ChatWebSocket.clients.append(self)
    def on_message(self, message):
         query = "START a=node:node_auto_index(uid='twitter') CREATE a-[:ch]-(t{con:'"+message+"'}) RETURN a"
     data, metadata = cypher.execute(graph_db, query)
         for client in ChatWebSocket.clients:
         print(client)
         t=json.loads(message)
         client.write_message('Content-type:application/json\n') 
         client.write_message(json.dumps({'a':t['b']}))
         print(t['b'])
    def on_close(self):
         ChatWebSocket.clients.remove(self)
    tornado_app = tornado.web.Application([
    (r'/websocket', ChatWebSocket),
    (r'.*', tornado.web.FallbackHandler)
    ])
 tornado_app.listen(5094)
tornado.ioloop.IOLoop.instance().start()

here is my code sample i am accepting json in the message getting its instance b and send json again to the client.but client is treating header as normal string.

Websockets does not require headers. Just send your json as string.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM