import socket
def send_msg(udp_socket): “”“发送消息”"" # 获取需要发送的类容 send_data = input(“请输入需要发送的类容:”) # 获取ip端 dest_ip = input(“请输入对方的ip:”) dest_port = int(input(“请输入对方的端口:”)) # 发送数据 udp_socket.sendto(send_data.encode(“gbk”), (dest_ip, dest_port))
def recv_msg(udp_socket): “”“接收消息”"" # 接收数据最大长度1024 recv_data = udp_socket.recvfrom(1024)
# 解析出收到的数据 # recv_data这个变量接收的是一个元组(接收到的数据(发送方ip, port)) recv_msg = recv_data[0] # 存储接收到的数据 send_addr = recv_data[1] # 存储发送方ip和端口 # 3.打印接收到的数据 print("收到的信息是:%s \n收到的地址:%s" % (recv_msg.decode("gbk"), str(send_addr)))def main(): # 创建套接字 udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定信息 这里绑定的数据是一个元组 udp_socket.bind(("", 1234)) # 循环处理收发数据 while True: print("-----xxx聊天器-----") print("1:发送消息") print("2:接收消息") print("0:退出系统") op = input("请输入需要执行的操作:") if op == "1": # 发送数据 send_msg(udp_socket) elif op == "2": # 接收数据 recv_msg(udp_socket) elif op == "0": print("退出系统聊天") break else: print("输入不正确请重新选择")if name == “main”: main()