zoukankan      html  css  js  c++  java
  • 【python】 tcp 文件下载

    服务器端.py

    import socket
    
    tcp_socket_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    address = ("", 8888)
    tcp_socket_server.bind(address)
    tcp_socket_server.listen(128)
    while True:
        new_socket, addr = tcp_socket_server.accept()
        print(str(addr) + "连接此服务端")
        recv_data = new_socket.recv(1024)
        file_name = recv_data.decode("gbk")
        print(file_name)
        try:
            with open("./server_file/" + file_name, "rb") as f:
                while True:
                    file_data = f.read(1024)
                    if file_data:
                        new_socket.send(file_data)
                    else:
                        break
        except Exception as e:
            print("文件%s下载失败" % file_name)
        else:
            print("文件%s下载成功" % file_name)
        finally:
            new_socket.close()
    tcp_socket_server.close()
    

    客户端.py

    import socket
    
    tcp_socket_client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    address = ("192.168.0.8", 8888)
    tcp_socket_client.connect(address)
    file_name = input("请输入要下载的文件名:")
    tcp_socket_client.send(file_name.encode("gbk"))
    with open("./" + file_name, "wb") as f:
        while True:
            file_data = tcp_socket_client.recv(1024)
            if file_data:
                f.write(file_data)
            else:
                break
    tcp_socket_client.close()
    

      

  • 相关阅读:
    父类与子类之间的调用顺序
    ROW_NUMBER() OVER函数的基本用法用法
    String类
    代码块
    权限修饰符
    内部类
    final&static
    面向对象思想
    oracle存储过程常用技巧
    ORACLE EXECUTE IMMEDIATE 用法
  • 原文地址:https://www.cnblogs.com/lautung/p/13863699.html
Copyright © 2011-2022 走看看