如何使用 python 编制一个 UDP Server 端程序和一个 UDP Client 端程序, client 发出请求,服务端给出应答?
时间: 2023-07-16 13:17:10 浏览: 70
以下是一个简单的示例代码,其中使用 Python 的 `socket` 模块实现了一个 UDP Server 和一个 UDP Client,客户端向服务端发送字符串,服务端将字符串转换为大写后返回给客户端。
UDP Server:
```python
import socket
def udp_server():
# 定义 IP 和端口
UDP_IP = "127.0.0.1"
UDP_PORT = 5005
# 创建一个 UDP Socket 对象
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定 IP 和端口
sock.bind((UDP_IP, UDP_PORT))
while True:
# 接收数据并获取客户端地址
data, addr = sock.recvfrom(1024)
print("received message:", data)
# 数据处理,将字符串转换为大写
data = data.upper()
# 发送数据给客户端
sock.sendto(data, addr)
if __name__ == '__main__':
udp_server()
```
UDP Client:
```python
import socket
def udp_client():
# 定义 IP 和端口
UDP_IP = "127.0.0.1"
UDP_PORT = 5005
# 创建一个 UDP Socket 对象
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 发送数据给服务端
message = "Hello, World!"
sock.sendto(message.encode(), (UDP_IP, UDP_PORT))
# 接收服务端返回的数据
data, addr = sock.recvfrom(1024)
print("received message:", data.decode())
if __name__ == '__main__':
udp_client()
```
以上代码可以通过在命令行中运行 `python udp_server.py` 和 `python udp_client.py` 来启动 UDP Server 和 UDP Client,从而实现客户端向服务端发送请求并接收响应。
阅读全文