zoukankan      html  css  js  c++  java
  • 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()

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

  • 相关阅读:
    VFP获取 SQL Server 的数据表、触发器、存储过程、视图等脚本
    VFP控制Excel操作集
    MS SqlServer 的日期格式化函数 Convert
    VFP 图形文件与剪切板互换的API解决方法
    VFP中OCX控件注册检测及自动注册
    VFP检测SQL Server的五个实例代码
    缓存方案笔记
    windows访问控制列表 --ACL(Access Control List)
    cnblog排版
    GIT常用命令
  • 原文地址:https://www.cnblogs.com/liudemeng/p/9058139.html
Copyright © 2011-2022 走看看