我想知道是否有人可以解释以下两者之间的区别:
ws = websocket.create_connection('wss://echo.websocket.org')
和
ws = websocket.WebSocketApp('wss://echo.websocket.org')
在 Python 包 websocket
中,因为文档不是很清楚。
最佳答案
create_connection
是一个工厂函数,它根据 class_
关键字参数 websocket.WebSocket
中提供的类生成 websocket 类默认情况下。此类提供低级接口(interface),但可以直接用于只需要与 websocket 进行命令式交互的代码 - 发送消息、等待响应、发送下一条消息 - 等等。
WebSocketApp
是 WebSocket
的包装器,它提供了一个更“事件驱动”的接口(interface)。您向构造函数提供回调(或在初始化后通过分配给相关成员),然后调用 run_forever
,它将阻塞直到连接关闭。当消息到来时,WebSocketApp
调用您的回调函数。这可以驱动您的整个应用程序,或者您可以在不同的线程中调用 run_forever
并同时执行其他工作(例如根据计时器定期更新游戏状态,而不是仅在收到消息时更新) .
关于python - WebSocketApp 与 create_connection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51811167/