多线程实现UDP聊天器简易版python

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()

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43612538/article/details/106139389