UDP服务器程序python
时间: 2024-09-10 14:15:56 浏览: 18
UDP(User Datagram Protocol,用户数据报协议)是一种无连接的网络协议,它允许数据以包的形式在网络中发送和接收。在Python中实现一个UDP服务器程序,可以使用内置的`socket`库。以下是一个简单的UDP服务器程序示例:
```python
import socket
# 创建 socket 对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 获取本地主机名
host = socket.gethostname()
port = 12345 # 设置端口号
# 绑定端口
server_socket.bind((host, port))
while True:
print("等待接收数据")
# 接收小于 1024 字节的数据
data, addr = server_socket.recvfrom(1024)
print('收到数据 %s' % data)
print('来自 %s' % str(addr))
# 可以在这里添加处理数据的逻辑
# ...
# 发送数据
message = '这是回复消息'
server_socket.sendto(message.encode(), addr)
```
这个程序创建了一个UDP套接字,并绑定到本地主机和指定的端口上。它会不断等待客户端发送数据,一旦接收到数据,就打印出来,并发送一个响应消息回客户端。这里使用`recvfrom`方法来接收数据,它会返回数据和发送者的地址;使用`sendto`方法来发送数据,它需要指定目标地址。
要注意的是,UDP不保证数据包的可靠传输,它不进行连接的建立,因此数据可能会丢失或乱序到达。