博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网络编程 - 实现文件传送
阅读量:6956 次
发布时间:2019-06-27

本文共 1692 字,大约阅读时间需要 5 分钟。

一、md5验证

import hashlib m=hashlib.md5() m.update(b"test") print (m.hexdigest()) 结果:098f6bcd4621d373cade4e832627b4f6 二、客户端代码   
#客户端 import socket client=socket.socket() #生成socket连接对象 client.connect(("localhost",6969)) while True:  msg=input(">>>:")     if not msg:         continue     if msg.startswith("get"):         client.send(msg.encode("utf-8")) #发送命令到服务端 ;         cmd_res_size=client.recv(1024) #接收文件的大小;         print ("文件大小为:",cmd_res_size)         client.send(b"ready to recv file..")         cmd_size=0         cmd_data=b''         filename=msg.split()[1]         f=open(filename+".new","wb")         while cmd_size!=int(cmd_res_size.decode()):             data=client.recv(1024)             cmd_size+=len(data)             f.write(data)         else:             print ("cmd received done !",cmd_size)             print (cmd_data.decode())         f.close() client.close()
三、服务端   
#服务端 import socket,os so_server=socket.socket() so_server.bind(("localhost",6969)) so_server.listen() print ("等电话!") while True: #实现多个链路连接;     conn,addr=so_server.accept()     print ("new connect",addr)     while True:         print ("等待新指令!")         data = conn.recv(1024)         if not data:             print("客户端已经断开")             break         cmd,filename=data.decode().split()         if os.path.isfile(filename):             f=open(filename,"rb")             file_size=str(os.stat(filename).st_size)             print (file_size.encode())             conn.send(file_size.encode())             conn.recv(1024) #wait for ack;             for line in f:                 conn.send(line)             f.close() so_server.close()
8.文件md5较验.

 

转载于:https://www.cnblogs.com/wulafuer/p/10185970.html

你可能感兴趣的文章
如何搭建自己的SPRING INITIALIZR server
查看>>
JDK5-注解
查看>>
定义表单控件的id和name注意点
查看>>
UILabel里字体带下划线
查看>>
Ios开发之多线程编程——NSThread
查看>>
linux下网站压力测试工具webbench
查看>>
滑动关闭activity
查看>>
Android Studio撤销与SVN的关联
查看>>
【规范】alibaba编码规范阅读
查看>>
shell中的特殊变量和函数传参
查看>>
使用pdf2htmlEX将pdf文件转为html
查看>>
天鹅会面
查看>>
Python2爬取学生名单
查看>>
Python调用 c++ dll,并且使用Py2exe打包
查看>>
前端MVC的概念了解
查看>>
git在多迭代版本的应用
查看>>
Chrome好用的插件:Wappalyzer 检测网站使用的技术
查看>>
IT兄弟连 JavaWeb教程 经典面试题3
查看>>
CentOS下内核TCP参数优化配置详解
查看>>
Compuer Science - Markdown - Syntax
查看>>