欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python—多任务版udp聊天机器人

程序员文章站 2024-01-29 17:28:34
将多任务(多线程)引入到udp聊天机器人,可以实现同时发送消息和接收消息 ......

将多任务(多线程)引入到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()