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()