callback an ein nicht instanziertes Objekt übergeben.
Verfasst: Freitag 13. Mai 2016, 08:53
Hallo zusammen,
ich bin ganz frisch in dem Forum und verzweifel gerade an einem Problem:
Ich versuche eine Kommunikationsschnittstelle per Websocket zu erstellen.
der Websockt funktioniert, ich benutze den tornado websocket.
in der on_message function würde ich gerne eine callback aufrufen.
Leider geht das nicht, da der requesthandler nicht instanziert wird. ich kann diesen parameter also nicht im Konstruktor übergeben,
da er vom tornado framework aufgerufen wird.
Da ich relativ neu bei python bin suche ich nun einen weg um eine callback an das spätere Objekt übergeben kann.
gibt es da eine Möglichkeit?
ich habe bisher das versucht, was aber meiner Meinung nach gar nicht funktionieren kann, da es noch keine Instanz gibt somit auch kein self:
Anders gefragt habt ihr bessere Erfahrungen oder Beispiele für einen einfachen echo-websocket in python?
Also Equivalentes Beispiel nehme ich gerne fleck aus c# oder der js websocket.
Vielen Dank im vorraus.
lg
Ipad
ich bin ganz frisch in dem Forum und verzweifel gerade an einem Problem:
Ich versuche eine Kommunikationsschnittstelle per Websocket zu erstellen.
der Websockt funktioniert, ich benutze den tornado websocket.
in der on_message function würde ich gerne eine callback aufrufen.
Leider geht das nicht, da der requesthandler nicht instanziert wird. ich kann diesen parameter also nicht im Konstruktor übergeben,
da er vom tornado framework aufgerufen wird.
Da ich relativ neu bei python bin suche ich nun einen weg um eine callback an das spätere Objekt übergeben kann.
gibt es da eine Möglichkeit?
ich habe bisher das versucht, was aber meiner Meinung nach gar nicht funktionieren kann, da es noch keine Instanz gibt somit auch kein self:
Code: Alles auswählen
self.socketHandler = connectionHandler.WebSocketHandler
self.socketHandler.callback = callback
application = tornado.web.Application([
(r'/', self.socketHandler),
])
http_server = tornado.httpserver.HTTPServer(application)
http_server.listen(7004)
myIP = socket.gethostbyname(socket.gethostname())
print '*** Websocket Server Started at %s***' % myIP
tornado.ioloop.IOLoop.instance().start()
Also Equivalentes Beispiel nehme ich gerne fleck aus c# oder der js websocket.
Vielen Dank im vorraus.
lg
Ipad