python websocket 客户端工具类
时间: 2023-07-03 19:31:54 浏览: 138
下面是一个简单的 Python WebSocket 客户端工具类示例:
```python
import websocket
import threading
class WebSocketClient:
def __init__(self, url):
self.url = url
self.ws = None
self.connect()
def connect(self):
self.ws = websocket.WebSocketApp(self.url,
on_open=self.on_open,
on_message=self.on_message,
on_error=self.on_error,
on_close=self.on_close)
self.wst = threading.Thread(target=self.ws.run_forever)
self.wst.daemon = True
self.wst.start()
def on_open(self, ws):
print("WebSocket connection established")
def on_message(self, ws, message):
print("Received message:", message)
def on_error(self, ws, error):
print("WebSocket error:", error)
def on_close(self, ws):
print("WebSocket connection closed")
def send(self, message):
self.ws.send(message)
def close(self):
self.ws.close()
if __name__ == "__main__":
ws = WebSocketClient("ws://localhost:8080")
ws.send("Hello, WebSocket Server!")
```
这个示例使用了 `websocket` 库,通过定义 `WebSocketClient` 类来实现 WebSocket 客户端。在 `__init__` 方法中,初始化 WebSocket 连接并调用 `connect` 方法。`connect` 方法创建一个 `WebSocketApp` 对象,并启动一个新的线程来运行 WebSocket 客户端。`on_open`、 `on_message`、 `on_error` 和 `on_close` 方法分别处理 WebSocket 客户端的打开、接收消息、错误和关闭事件。`send` 方法用于发送消息,`close` 方法用于关闭 WebSocket 连接。在示例中,我们创建了一个 `WebSocketClient` 对象,并向 WebSocket 服务器发送一条消息。
阅读全文