使用 Python socket 模块创建 UDP 客户端和服务器
下面是一个基于 Python socket 模块创建 UDP 客户端和服务器的示例代码,其中使用字符串“pidancode.com”和“皮蛋编程”作为例子。
UDP 服务器端代码示例:
import socket # 创建 UDP socket udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 绑定端口号和 IP 地址 udp_socket.bind(('localhost', 8888)) # 接收数据 while True: data, client_address = udp_socket.recvfrom(1024) print("Received data: ", data.decode()) # 响应客户端 response = "Hello, I am UDP server. You said: " + data.decode() udp_socket.sendto(response.encode(), client_address)
UDP 客户端代码示例:
import socket # 创建 UDP socket udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 发送数据 message = "pidancode.com" server_address = ('localhost', 8888) udp_socket.sendto(message.encode(), server_address) # 接收响应 data, server_address = udp_socket.recvfrom(1024) print("Received response: ", data.decode()) # 关闭 socket udp_socket.close()
UDP 客户端代码示例2:
import socket # 创建 UDP socket udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 发送数据 message = "皮蛋编程" server_address = ('localhost', 8888) udp_socket.sendto(message.encode(), server_address) # 接收响应 data, server_address = udp_socket.recvfrom(1024) print("Received response: ", data.decode()) # 关闭 socket udp_socket.close()
注意事项:
以上示例代码使用的 IP 地址为 localhost,如果想要在不同主机上运行客户端和服务器,需要将服务器端代码中的 IP 地址修改为服务器的公网 IP 地址。
服务器端代码需要在一个独立的 Python 文件中运行,并保持开启状态,客户端代码可以在不同的 Python 文件中运行多次,进行测试。
相关文章