WebSocketApp 与 create_connection
Posted
技术标签:
【中文标题】WebSocketApp 与 create_connection【英文标题】:WebSocketApp vs create_connection 【发布时间】:2018-08-12 17:24:06 【问题描述】:我想知道是否有人可以解释以下之间的区别:
ws = websocket.create_connection('wss://echo.websocket.org')
和
ws = websocket.WebSocketApp('wss://echo.websocket.org')
在 Python 包 websocket
中,因为文档不是很清楚。
【问题讨论】:
【参考方案1】:create_connection
是一个工厂函数,它从 class_
关键字参数中提供的类生成 websocket 类,默认情况下是 websocket.WebSocket
。该类提供低级接口,但可以直接用于只需要与 websocket 进行命令式交互的代码 - 发送消息、等待响应、发送下一条消息 - 等等。
WebSocketApp
是WebSocket
的包装器,它提供了一个更“事件驱动”的接口。您向构造函数提供回调(或在初始化后通过分配给相关成员),然后调用 run_forever
阻塞直到连接关闭。当消息到来时,WebSocketApp
会调用您的回调函数。这可能会驱动您的整个应用程序,或者您可以在不同的线程中调用 run_forever
并同时执行其他工作(例如根据计时器定期更新游戏状态,而不是仅在收到消息时更新)。
【讨论】:
以上是关于WebSocketApp 与 create_connection的主要内容,如果未能解决你的问题,请参考以下文章
ImportError:无法从“websocket”(/Users/raphaelhen/Desktop/websocket.py)导入名称“WebSocketApp”
python websocketapp on_message()方法不起作用