import socket def send_msg(udp_socket): """发送消息""" # 发数据 # 获取要发送的内容 send_data = input("请输入传递的信息") dest_ip = input("请输入对方的ip;") dest_port = int(input("请输入对方的port:")) udp_socket.sendto(send_data.encode("gbk"), (dest_ip, dest_port)) def recv_msg(udp_socket): # 接收数据并显示 recv_data = udp_socket.recvfrom(1024) #print(recv_data) # recv_message = recv_data[0] # 存储接收的数据 # send_address = recv_data[1] # 存储发送方的地址信息 # print("接收到的消息是%s;%s" % (str(send_address), recv_message.decode("gbk"))) print("接收到的消息是%s;%s" % (str(recv_data[1]), recv_data[0].decode("gbk"))) def main(): # 创建套接字 udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 绑定信息 udp_socket.bind(("", 50000)) # 循环来处理事件 while True: print("----聊天器----") 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": break else: print("输入错误,请重新输入") if __name__ == "__main__": main()