1 import socket 2 import threading 3 4 5 def send_msg(udp_socket,dest_ip,dest_port): 6 while True: 7 send_data = input("请输入要发送的内容:") 8 udp_socket.sendto(send_data.encode("utf-8"),(dest_ip,dest_port)) 9 10 11 def recv_msg(udp_socket): 12 while True: 13 recv_data = udp_socket.recvfrom(1024) 14 print("\n%s接收到的内容是:%s " % (recv_data[1],recv_data[0].decode("gbk"))) 15 16 17 def main(): 18 # 创建套接字 19 udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) 20 # 绑定端口 21 udp_socket.bind(("",7788)) 22 23 # 要发送的ip和port 24 dest_ip = input("请输入IP:") 25 dest_port = int(input("请输入端口号:")) 26 27 # 创建接收和发送消息的线程 传参args= 要以元祖的形式传 28 t_recv = threading.Thread(target=recv_msg,args=(udp_socket,)) 29 t_send = threading.Thread(target=send_msg,args=(udp_socket,dest_ip,dest_port)) 30 31 # 启动线程 32 t_recv.start() 33 t_send.start()