1. 程式人生 > >python—多任務版udp聊天機器人

python—多任務版udp聊天機器人

put end 套接字 nbsp sendto 多任務 bin true __main__

將多任務(多線程)引入到udp聊天機器人,可以實現同時發送消息和接收消息

 1 import socket
 2 import threading
 3 
 4 
 5 def udp_send(udp_socket,ip,port):
 6     while True:
 7         try:
 8             # 獲取發送的信息
 9             data = input(請輸入要發送的信息:)
10             udp_socket.sendto(data.encode(gbk), (ip,port))
11 12 except Exception as erro: 13 print(錯誤類型:,erro) 14 15 16 def udp_recv(udp_socket): 17 while True: 18 # 接收信息 19 recv_data = udp_socket.recvfrom(1024) 20 print(接收的信息:,recv_data[0].decode(gbk)) 21 22 23 def
main(): 24 25 # 創建UDP套接字 26 udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 27 28 # 綁定本地信息 29 udp_socket.bind((‘‘,8080)) 30 31 # 獲取對方通信地址 32 ip = input(請輸入對方的ip:) 33 port = int(input(請輸入對方的端口port:)) 34 35
# 創建線程 36 t1 = threading.Thread(target=udp_send, args=(udp_socket, ip, port)) 37 t2 = threading.Thread(target=udp_recv, args=(udp_socket,)) 38 t1.start() 39 t2.start() 40 41 42 if __name__ == __main__: 43 main()

python—多任務版udp聊天機器人