写一个基于udp的进程间通信代码
以下是一个基于UDP的进程间通信代码示例:
# 服务端代码
import socket
def server():
# 创建UDP socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定IP和端口
server_address = ('localhost', 12345)
server_socket.bind(server_address)
print('等待客户端连接...')
while True:
# 接收数据
data, address = server_socket.recvfrom(1024)
# 处理数据
response = data.decode().upper()
# 发送响应数据
server_socket.sendto(response.encode(), address)
if response == 'EXIT':
break
# 关闭socket
server_socket.close()
# 客户端代码
import socket
def client():
# 创建UDP socket
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 服务器地址
server_address = ('localhost', 12345)
while True:
# 输入数据
message = input('请输入要发送的消息(输入EXIT退出):')
# 发送数据
client_socket.sendto(message.encode(), server_address)
if message.upper() == 'EXIT':
break
# 接收响应数据
response, address = client_socket.recvfrom(1024)
# 显示响应数据
print('来自服务器的响应:', response.decode())
# 关闭socket
client_socket.close()
# 运行服务器和客户端
if __name__ == '__main__':
server()
client()
说明:
- 该代码示例包含了一个服务器端和一个客户端,分别运行在不同的进程中。
- 服务器端通过创建一个UDP socket并绑定IP和端口来监听客户端的连接请求,然后接收客户端发送的数据,对数据进行处理后发送响应数据给客户端。
- 客户端通过创建一个UDP socket并指定服务器的IP和端口来连接服务器,然后输入要发送的消息并发送给服务器,同时接收服务器发送的响应数据并显示在控制台上。
- 服务器和客户端可以通过输入EXIT来退出通信。
原文地址: https://www.cveoy.top/t/topic/i8N1 著作权归作者所有。请勿转载和采集!