标签:udp socket dest ip send 聊天 recv 多任务
多任务版udp聊天器
1 import socket 2 import threading 3 4 5 def recv_msg(udp_socket): 6 # 3.接收数据 7 while True: 8 recv_data = udp_socket.recvfrom(1024) 9 resv_ip = recv_data[1] 10 recv_msg = recv_data[0].decode('gbk') 11 print('来自{}发送的数据\n{}'.format(resv_ip, recv_msg)) 12 13 14 def send_msg(udp_socket, dest_ip, dest_port): 15 # 4.发送数据 16 while True: 17 send_data = input('输入需要发送的数据:') 18 udp_socket.sendto(send_data.encode('gbk'), (dest_ip, dest_port)) 19 20 21 def main(): 22 '''完成udp聊天器的整体控制''' 23 # 1.绑定套接字 24 udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 25 # 2.绑定本地信息 26 udp_socket.bind(("", 7890)) 27 # 获取对象的ip 28 dest_ip = input('请输入对方的ip:') 29 dest_port = int(input('请输入对方的port:')) 30 31 # 创建线程 32 t_recv = threading.Thread(target=recv_msg, args=(udp_socket,)) 33 t_send = threading.Thread(target=send_msg, args=(udp_socket, dest_ip, dest_port)) 34 35 t_recv.start() 36 t_send.start() 37 38 39 if __name__ == '__main__': 40 main()
标签:udp,socket,dest,ip,send,聊天,recv,多任务 来源: https://www.cnblogs.com/onebit123/p/16161010.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。