• Tcp下载文件


    一.下载文件

    tcp 客户端

    1.创建套接字
    down_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    2.获取ip,port
    down_ip = input("请输入ip:")
    down_port = int(input("请输入port:"))
    3.链接服务器
    down_socket.connect((down_ip,down_port))
    4.获取下载文件的名字
    down_name = input("请输入下载文件名:")
    5.将文件名发给服务器
    down_socket.send(down_name.encode("utf-8"))
    6.接受文件中的数据
    accept = down_socket.recv(1024)
    print(accept)
    7.判断文件是否有内容
    if accept:
    with open("新"+down_name, "wb") as f:
           f.write(accept)
    8.关闭套接字
    down_socket.close()

    tcp服务端


    1.创建套接字
    server_socket = socket.socket(socket.AF_INET, socket.SOCK.STREAM)
    2.绑定本地的信息
    server_socket.bind(("", 8088))
    3.等待(有主动变为被动listen)
    server_socket.listen(128)
    4.等待服务端链接
    new_server_socket, server_addr = server_socket.accept()
    print(str(server_saddr))
    5.等待服务端的请求,为客户段服务
     1.获取下载文件名
    down_name = new_server_socket.recv(1024).decode("utf-8")
       print("你要下载的文件是%s" % down_name)
       
     2.打开文件
    file_name = None
    try:
           f = open(down_name,"rb")
    file_name = f.read()
           f.close
       except Exception as ret:
           print("没有要下载的文件%s" % down_name)
     3.判断是否为空文件
    if down_name:
           new_server_socket.send(file_name)
    6.关闭套接字
    new_server_socket.close()
    server_socket.close()

    有需要的话可以关注我的微信公众号,会第一时间接收最新的知识。

  • 相关阅读:
    搭建nginx反向代理用做内网域名转发
    TOMCAT下面发布项目的4种方式
    centos 安装 rabbitmq
    RabbitMQ在windows下的安装
    mysql物理备份
    Linux(CentOS)下,下载安装Nginx并配置
    whereis 命令
    windows下安装以及配置nginx
    CentOS 7安装配置Redis数据库
    CentOS6.5下安装ActiveMQ
  • 原文地址:https://www.cnblogs.com/liudemeng/p/9058139.html
Copyright © 2020-2023  润新知