Py学习  »  tornado

WebSockets的python tornado提取处理程序

user3732793 • 5 年前 • 1416 次点击  

这个python 3代码按原样工作。

import tornado.web
import tornado.websocket
import tornado.httpserver
import tornado.ioloop

class WebSocketHandler(tornado.websocket.WebSocketHandler):
    connections = set()

    def open(self):
            self.connections.add(self)
            print ('new connection was opened')
            pass

    def on_message(self, message):
            print ('from WebSocket: ', message)
            messageTooSockets.put(message)

    def on_close(self):
            self.connections.remove(self)
            print ('connection closed')
            pass

class IndexPageHandler(tornado.web.RequestHandler):
    def get(self):
    self.render("index.html")

class webApplication(tornado.web.Application):
    def __init__(self):
    handlers = [
        (r'/', IndexPageHandler),
        (r'/websocket', WebSocketHandler),
        (r'/(.*)', tornado.web.StaticFileHandler, {'path': './root'})
    ]

    settings = {
        'template_path': 'templates'
    }
    tornado.web.Application.__init__(self, handlers, **settings)

if __name__ == '__main__':
    ws_app = webApplication()
    server = tornado.httpserver.HTTPServer(ws_app)
    server.listen(9090)
    tornado.ioloop.IOLoop.instance().start()

提取处理程序对于请求或静态文件处理程序来说不是问题。但是,当将WebSockets处理程序提取到子文件夹Tornado中的包时,会抱怨。

ERROR:tornado.application:Uncaught exception
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/tornado/http1connection.py", 
line 238, in _read_message
    delegate.finish()
  File "/usr/lib/python3/dist-packages/tornado/routing.py", line 251, 
in finish
    self.delegate.finish()
  File "/usr/lib/python3/dist-packages/tornado/web.py", line 2097, in 
finish
    self.execute()
  File "/usr/lib/python3/dist-packages/tornado/web.py", line 2117, in 
execute
    **self.handler_kwargs)
TypeError: __init__() takes 1 positional argument but 3 were given

导入tornado.websocket.websocket handler处理程序时,是否有关于tornado套接字的特殊性?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/34224
 
1416 次点击  
文章 [ 1 ]  |  最新文章 5 年前