import socket
import threading
import time
"""
使用多线程技术编写的udp收发消息的程序代码
多线程实现UDP聊天器简易版
"""
def recv_msg(udp_socket):
# 接收数据
while True:
recv_data = udp_socket.recvfrom(1024)
print("接收到数据:", recv_data)
def send_msg(udp_socket, dest_ip, dest_port):
# 发送数据
while True:
send_data = input("请输入要发送的数据:")
udp_socket.sendto(send_data.encode("utf-8"), (dest_ip, dest_port))
# 让ta休息一会儿
time.sleep(1)
def main():
# 创建套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定信息
udp_socket.bind(("", 9988))
# 获取对方的ip和port
dest_ip = input("请输入对方的ip:")
dest_port = int(input("请输入对方的port:"))
# 创建两个线程 去执行发送 和 接收 这两个任务
t_recv = threading.Thread(target=recv_msg, args=(udp_socket,)) # 加一个逗号 这是元组
t_send = threading.Thread(target=send_msg, args=(udp_socket, dest_ip, dest_port))
t_recv.start()
t_send.start()
if __name__ == '__main__':
main()
多线程实现UDP聊天器简易版python
猜你喜欢
转载自blog.csdn.net/qq_43612538/article/details/106139389
今日推荐
周排行