多任务版udp聊天器


多任务版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()

 

原创文章,作者:745907710,如若转载,请注明出处:https://blog.ytso.com/245725.html

(0)
上一篇 2022年4月18日
下一篇 2022年4月18日

相关推荐

发表回复

登录后才能评论