python中websocket客户端发送接收实现
时间: 2023-08-17 16:17:56 浏览: 180
在 Python 中,你可以使用第三方库 `websocket-client` 来实现 WebSocket 客户端的发送和接收。下面是一个示例,演示了如何连接到 WebSocket 服务器、发送消息和接收消息:
```python
import websocket
import threading
def on_message(ws, message):
print("Received message:", message)
def on_error(ws, error):
print("Error:", error)
def on_close(ws):
print("WebSocket closed")
def on_open(ws):
print("WebSocket opened")
# 启动一个线程发送消息
def send_thread():
while True:
message = input("Enter message: ")
ws.send(message)
threading.Thread(target=send_thread, daemon=True).start()
if __name__ == "__main__":
# 连接到 WebSocket 服务器
ws = websocket.WebSocketApp("ws://localhost:8000/",
on_message = on_message,
on_error = on_error,
on_close = on_close)
ws.on_open = on_open
# 启动 WebSocket 客户端
ws.run_forever()
```
在上面的代码中,我们首先定义了 `on_message`、`on_error`、`on_close`、`on_open` 四个回调函数,分别用于处理接收到的消息、错误、关闭连接和建立连接。
在 `on_open` 回调函数中,我们启动了一个新的线程,负责读取用户输入并将其发送到 WebSocket 服务器。这样就可以在发送消息的同时接收服务器发来的消息。注意,我们将线程设置为守护线程,这样当主线程结束时,它也会自动结束。
最后,我们调用 `ws.run_forever()` 来启动 WebSocket 客户端,保持连接状态。
阅读全文