我想知道是否有人可以解释以下两者之间的区别:
ws = websocket.create_connection('wss://echo.websocket.org')
和
ws = websocket.WebSocketApp('wss://echo.websocket.org')
在Python软件包websocket
中,因为文档不是很清楚。
答案 0 :(得分:3)
create_connection
是一种工厂函数,默认情况下根据class_
关键字参数websocket.WebSocket
中提供的那个函数生成websocket类。此类提供了低级接口,但可直接用于只需要与Websocket进行强制性交互的代码-发送消息,等待响应,发送下一条消息等。
WebSocketApp
是WebSocket
的包装,提供了更多“事件驱动”的界面。您可以向构造函数提供回调(或在初始化后通过分配给相关成员),然后调用run_forever
进行阻塞,直到关闭连接为止。收到消息时,WebSocketApp
会调用您的回调函数。这可以驱动整个应用程序,也可以在其他线程中调用run_forever
并同时执行其他工作(例如,基于计时器(而不是仅在收到消息时)定期更新游戏状态)。>