多线程Thread模块实现udp聊天器

  1 import socket                                                                   
  2 import threading                                                                
  3                                                                                                                                                               
  4 def recv_msg(udp_socket):                                                       
  5     """接收数据并显示"""                                                        
  6     # 接收数据                                                                  
  7     while True:                                                                 
  8         recv_data = udp_socket.recvfrom(1024)                                   
  9         print(recv_data)                                                        
 10                                                                                 
 11 def send_msg(udp_socket, dest_ip, dest_port):                                   
 12     """发送数据"""                                                              
 13     # 发送数据                                                                  
 14     while True:                                                                 
 15         send_data = input("输入要发送的数据:")                                  
 16         udp_socket.sendto(send_data.encode('utf-8'), (dest_ip, dest_port))      
 17                                                                                 
 18                                                                                 
 19 def main():                                                                     
 20     """完成udp聊天器整体控制"""                                                 
 21                                                                                 
 22     # 1. 创建套接字                                                             
 23     socket.socket(socket.AF_INET, socket.SOCK_DGRAM)                            
 24                                                                                 
 25     # 2. 绑定本地信息                                                           
 26     udp_socket.bind(('', 9999))                                                 
 27                                                                                 
 28     # 3. 获取对方的ip地址                                                       
 29     dest_ip = input("请输入对方的ip:")                                          
 30     dest_port = int(input("请输入对方端口port:"))                               
 31                                                                                 
 32     # 4. 创建2个线程,去执行相应的功能                                          
 33     t_recv = threading.Thread(target=recv_msg, args=(udp_socket,))              
 34     t_send = threading.Thread(target=send_msg, args=(udp_socket, dest_ip, dest_port))
 35                                                                                 
 36     t_recv.start()                                                              
 37     t_send.start()                                                              
 38                                                                                 
 39 if __name__ == "__main__":                                                      
 40     main() 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值