python创建websocket 服务器并调用websocket 服务器 发送消息到客户端
时间: 2023-08-24 20:10:32 浏览: 79
首先,你需要安装 `websocket` 库:
```python
pip install websocket
```
接下来,你可以使用以下代码创建一个简单的 websocket 服务器:
```python
import asyncio
import websockets
async def hello(websocket, path):
name = await websocket.recv()
print(f"< {name}")
greeting = f"Hello {name}!"
await websocket.send(greeting)
print(f"> {greeting}")
start_server = websockets.serve(hello, "localhost", 8765)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()
```
在这个例子中,服务器监听本地的 8765 端口,并等待客户端的连接。当一个客户端连接上来时,它会发送一个消息,服务器会将这个消息存储在 `name` 变量中,并回复一个问候语。客户端收到问候语后,它会关闭连接。
接下来,你可以使用以下代码创建一个 websocket 客户端,并发送一条消息:
```python
import asyncio
import websockets
async def hello():
async with websockets.connect("ws://localhost:8765") as websocket:
name = input("What's your name? ")
await websocket.send(name)
print(f"> {name}")
greeting = await websocket.recv()
print(f"< {greeting}")
asyncio.get_event_loop().run_until_complete(hello())
```
在这个例子中,客户端连接到本地的 8765 端口,并发送一个消息。然后它等待服务器的回复,并将回复打印到控制台中。
你可以将服务器和客户端的代码保存到两个不同的文件中,并在命令行中分别运行它们。