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()
多线程Thread模块实现udp聊天器
最新推荐文章于 2021-02-27 06:18:37 发布