美文网首页
UDP聊天器

UDP聊天器

作者: 程序设计法师 | 来源:发表于2019-04-03 21:42 被阅读0次
    import socket
    import threading
    
    
    def recv_data(udp_socket):
        # 接收数据并显示
        while True:
            recv = udp_socket.recvfrom(1024)
            print("接收到的数据为:%s", str(recv))
    
    
    def send_data(udp_socket, dest_ip, dest_port):
        # 发送数据
        while True:
            send_data = input("请输入要发送的数据:")
            udp_socket.sendto(send_data.encode("utf-8"), (dest_ip, dest_port))
    
    
    def main():
        # 创建套接字
        udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        # 绑定本地信息
        udp_socket.bind(("", 7890))
        # 获取对方的ip和端口
        dest_ip = input("请输入对方得ip")
        dest_port = int(input("请输入对方的端口"))
        # 接收数据
        # recv_data(udp_socket)
        # 发送数据
        # send_data(udp_socket, dest_ip, dest_port)
    
        # 创建两个线程
        t_recv = threading.Thread(target=recv_data, args=(udp_socket,))
        t_send = threading.Thread(target=send_data, args=(udp_socket, dest_ip, dest_port))
        t_recv.start()
        t_send.start()
    
    
    if __name__ == "__main__":
        main()
    
    E:\python_project\NetWork\venv\Scripts\python.exe E:/python_project/NetWork/thread/UdpChart.py
    请输入对方得ip192.168.29.2
    请输入对方的端口8080
    请输入要发送的数据:nihao
    请输入要发送的数据:feqf q
    请输入要发送的数据:qwefqwf
    请输入要发送的数据:
    请输入要发送的数据:ef
    请输入要发送的数据:qwfq
    请输入要发送的数据:ef
    请输入要发送的数据:qwef接收到的数据为:%s (b'sdss', ('192.168.29.2', 8080))
    接收到的数据为:%s (b'sdss', ('192.168.29.2', 8080))
    接收到的数据为:%s (b'sdss', ('192.168.29.2', 8080))
    接收到的数据为:%s (b'nihaodsios', ('192.168.29.2', 8080))
    接收到的数据为:%s (b'nihaodsios', ('192.168.29.2', 8080))
    接收到的数据为:%s (b'nihaodsios', ('192.168.29.2', 8080))
    
    udp聊天器.png

    相关文章

      网友评论

          本文标题:UDP聊天器

          本文链接:https://www.haomeiwen.com/subject/ukvtiqtx.html