Я пытаюсь определить класс в Python для управления WebSockets, это docu-example является то, что я с помощьюошибка в питона методе настройки для обратных вызовов
это мой код:
#!/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!"
Но когда я запускаю код Я получаю ошибку:
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?
благодарит
Нет, это не так. Вам нужно использовать 'self.on_message1'. То же самое для остальных ... –
Кроме того, я не вижу необходимости в классе. Python! = Java. Просто используйте функции, как в вашей ссылке. Действительно, я считаю, что вы можете затенять класс в 'websocket'! –