WebSocketApp与create_connection

时间:2018-08-12 17:24:06

标签: python python-3.x websocket

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

ws = websocket.create_connection('wss://echo.websocket.org')

ws = websocket.WebSocketApp('wss://echo.websocket.org')

在Python软件包websocket中,因为文档不是很清楚。

1 个答案:

答案 0 :(得分:3)

create_connection是一种工厂函数,默认情况下根据class_关键字参数websocket.WebSocket中提供的那个函数生成websocket类。此类提供了低级接口,但可直接用于只需要与Websocket进行强制性交互的代码-发送消息,等待响应,发送下一条消息等。

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