ich versuche, eine Klasse in Python für die Verwaltung von WebSockets zu definieren, diese docu-example ist, was mit amFehler in Python Einstellungsmethode für Rückrufe
dies ist mein Code:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json
import websocket
import thread
import time
class WebSocket:
def on_message1(self, ws, message):
print message
def on_error1(self, ws, error):
print error
def on_close1(self, ws):
print "Socket Closed"
def start(self):
global ws
ws.run_forever()
def __init__(self, host, port):
self.host = host
self.port = port
websocket.enableTrace(True)
self.ws = websocket.WebSocketApp("ws://" + host+":"+port,
on_message = on_message1,
on_error = on_error1,
on_close = on_close1))
if __name__ == '__main__':
print "Error: create an instance of this class instead!"
Aber wenn ich führen Sie den Code ich erhalte den Fehler:
File "/home/pi/ABC/CASCADE/WebSocketClientClass.py", line 37, in init
NameError: global name 'on_message1' is not defined it is defined but somehow is not working... why?
dank
Nein, ist es nicht. Sie müssen 'self.on_message1' verwenden. Das gleiche gilt für den Rest ... –
Auch sehe ich keine Notwendigkeit für eine "Klasse". Python! = Java. Benutze einfach Funktionen, wie in deinem Link. In der Tat, ich glaube, Sie können eine Klasse in 'Websocket' beschatten! –