使用 Python socket 模块创建 UDP 客户端和服务器

2023-04-04 00:00:00 创建 客户端 模块

下面是一个基于 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 文件中运行多次,进行测试。

相关文章