• 服务端2


    #coding=utf-8
    #FTPserver
    '''
    1.读取文件名
    2.检测文件是否存在
    3.打开文件
    4、检测文件大小
    5、发送文件大小给客户端
    6.等到客户端确认
    7、开始边读边发数据
    8、发送MD5
    '''
    import socket
    import os
    import hashlib
    
    server = socket.socket()             #创建实例
    server.bind(('localhost',6969)) #绑定要监听的端口
    server.listen(2)  #开始监听
    
    while True:          #第一层循环
        print '开始接听了'
        con1,addr =server.accept() #等连接接入,con1就是客户端连入,而在服务器端为其生成的连接实例
        print '%s is connect'%addr[0]
        while True:
            print '等待命令输入'
            try:
                data = con1.recv(1024)
                # if not data:
                #     print '%s 客户端断开了'%addr[0]
            except socket.error as e:
                print '%s 客户端断开了'%addr[0],e
                break
            print '执行指令:',data
            cmd,filename = data.split()
            print '要下载的文件是:',filename
            if os.path.isfile(filename):
                f = open(filename,'rb')
                m = hashlib.md5()
                file_size = os.stat(filename).st_size
                con1.send(str(file_size))
                con1.recv(1024)  #等待确认收到文件大小
                for line in f:
                    m.update(line)
                    con1.send(line)
                print '文件的MD5值:',m.hexdigest()
                f.close()
                con1.send(m.hexdigest())   #发送文件的MD5值
            print '传输文件完成了'
    server.close()
    
  • 相关阅读:
    (三)数据预处理过程简介
    (二)数据挖掘需要哪些技术
    (一) 什么是数据挖掘?
    怎样提问呢?
    什么是自我意识
    高效能人士的七个习惯
    “U”型读书法
    CMDB学习之一
    层级选择器
    css选择器
  • 原文地址:https://www.cnblogs.com/qiangayz/p/8606565.html
Copyright © 2020-2023  润新知