我正在使用一个库来促进客户端与服务器的 websocket 通信。
websocket 库允许您指定套接字打开、关闭、错误或接收消息时的回调函数
如果我将我的回调函数设置为另一个类的实例函数,那么在调用它们时需要传递self参数。
我明白,如果你调用一个类实例方法,它总是将 self 作为第一个参数传递。但是,我的回调没有通过自我
from websocket import WebSocketApp
import websocket
class X(object):
def run(self):
self.ws = WebSocketApp('wss://api.bitfinex.com/ws/2'
,on_open=self.on_open
,on_message=self.on_message
,on_error=self.on_error
,on_close=self.on_close)
websocket.enableTrace(True)
self.ws.run_forever()
def on_open(self, ws):
print('open')
def on_close(self, ws):
print('close')
def on_message(self, ws, message):
print('message')
def on_error(self, ws, error):
print('error')
if __name__=='__main__':
x = X().run()
输出
error from callback <bound method X.on_open of <__main__.X object at 0x7fd7635e87f0>>: on_open() missing 1 required positional argument: 'ws'
File "/home/arran/.local/lib/python3.6/site-packages/websocket/_app.py", line 343, in _callback
callback(*args)
我可能在这里遗漏了一些基本的东西。但任何帮助将不胜感激
慕码人8056858
吃鸡游戏
相关分类