python - WebSocketApp 与 create_connection

标签 python python-3.x websocket

我想知道是否有人可以解释以下两者之间的区别:

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 进行命令式交互的代码 - 发送消息、等待响应、发送下一条消息 - 等等。

WebSocketAppWebSocket 的包装器,它提供了一个更“事件驱动”的接口(interface)。您向构造函数提供回调(或在初始化后通过分配给相关成员),然后调用 run_forever ,它将阻塞直到连接关闭。当消息到来时,WebSocketApp 调用您的回调函数。这可以驱动您的整个应用程序,或者您可以在不同的线程中调用 run_forever 并同时执行其他工作(例如根据计时器定期更新游戏状态,而不是仅在收到消息时更新) .

关于python - WebSocketApp 与 create_connection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51811167/

相关文章:

python - Jupyter Lab 在 RAM 不足时卡住计算机 - 如何预防?

python - 使用装饰器或元类为所有类设置公共(public)实例变量

javascript - Websockets - "error"事件后面总是跟着 "close"事件吗?

Javascript Websocket 监听端口 80

PHP Web 套接字无法在 SSL 中连接

python - 出现错误 :(Element not interactable) when sending keys into the input field in selenium python

python - Matplotlib 隐藏特定刻度线

python - pandas read_excel 共享违规

python-3.x - 这个分配: understanding in-place assignment operations in numpy背后的逻辑是什么

python - 'is' 运算符在将字符串与空格进行比较时表现不同