编写一个websocket调试工具
时间: 2023-10-17 16:21:42 浏览: 131
自己开发的WebSocket 调试工具
5星 · 资源好评率100%
好的,下面是一个简单的基于 Python 的 WebSocket 调试工具。
```
import websocket
import threading
class WebSocketTool:
def __init__(self, url):
self.ws = websocket.WebSocketApp(url,
on_message=self.on_message,
on_error=self.on_error,
on_close=self.on_close)
self.is_running = False
def on_message(self, ws, message):
print(f"Received message: {message}")
def on_error(self, ws, error):
print(f"Error: {error}")
def on_close(self, ws):
print("Connection closed")
def start(self):
self.is_running = True
self.thread = threading.Thread(target=self.ws.run_forever)
self.thread.start()
def stop(self):
self.is_running = False
self.ws.close()
def send(self, message):
self.ws.send(message)
if __name__ == "__main__":
ws_tool = WebSocketTool("ws://example.com")
ws_tool.start()
while True:
message = input("Enter message to send: ")
if message == "quit":
ws_tool.stop()
break
ws_tool.send(message)
```
这个工具使用了 `websocket` 模块来建立 WebSocket 连接,然后通过 `on_message` 方法处理收到的消息,通过 `on_error` 方法处理错误,通过 `on_close` 方法处理连接关闭事件。`start()` 方法启动 WebSocket 连接,并在新的线程中运行 `ws.run_forever()`。`stop()` 方法停止 WebSocket 连接,关闭线程。`send()` 方法发送消息到 WebSocket 服务器。在 `__main__` 中,我们创建了一个 `WebSocketTool` 实例,启动它,然后在循环中等待用户输入。用户输入的消息将通过 `send()` 方法发送到 WebSocket 服务器,直到用户输入 "quit",程序停止运行。
阅读全文