WebHU - Programozási kérdések és válaszok

Python Tornado kivonatkezelő websocketekhez

ez a python 3 kód úgy működik, ahogy van.

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()

A kezelők kibontása nem jelentett problémát a kérés- vagy statikus fájlkezelőknek. Amikor azonban a websockets kezelőt kicsomagolják egy almappában lévő csomagba, a tornádó panaszkodik.

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

Van valami különlegesség a tornado socketekkel kapcsolatban a tornado.websocket.WebSocketHandler kezelő importálásakor?


Válaszok:


1

A messageTooSockets rosszul lett formázva...buta gondolat

26.07.2018
Új anyagok

A rádiógomb ellenőrzött eseményének használata a jQueryben
Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

Miért érdemes elkezdeni a kódolást 2023-ban?
01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

🎙 Random Noise #2  – Örökbefogadás és hit
az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..