Skip to content

Iflier/transferFiles

Repository files navigation

一个用于局域网内两个机器之间传递大量小文件的工具

尽管Windows系统的远程桌面连接功能支持机器之间的复制,但是在传送大量小文件的时候,还是比较慢的。因此,打算用Python写个小工具来比较一下。所有的代码还没有测试,这个得等到下一轮我更新文件的时候再测吧!

注意

该工具使用socket连接在机器之间复制文件,还有更先进的基于Python语言的第三方库可以替代它。

Update on 2019.10.16

使用先进的消息队列ZMQ在机器之间复制文件
所有的代码还不曾测试过 !

Update on 2019.10.20

下面是局域网内的测试片段,最慢 8 分多钟传完。嗯,的确比远程桌面连接下复制文件快得多。
PULL-PUSH 模式,使用起来很方便,但是PUSH socket类型端,无法从对端获取消息是否接收成功的确认
image

Update on 2019.10.22

添加DEALER-REP socket 类型,REP socket类型在向对端回复消息的时候会带有地址。基本上可以用来解决PULL-PUSH模式无法获取确认的问题了
简单地尝试了一下REQ-ROUTER socket,要求最开始要由 REQ 对端发起(这也是这种组合模式的要求)。而 REQ 对端事先并不知道请求的文件是否存在,这就需要REQ在接受到消息后,对消息进行判断了

Update on 2019.10.25

前一个版本,文件发送方无法知道何时退出。而最佳退出时机,由文件接收方通知最为合适。因此,添加了 PULL-PUSH socket 类型,用于发送/接收退出的通知

Update on 2019.10.26

  1. 更正类型转换时的一个错误。

Update on 2019.11.02

测试 REP-DEALER socket 对儿:
image

Update on 2019.11.26

  1. 更正一个继承了父类的子类的写法错误
  2. 添加了DEALERROUTER socket 对儿的用法

Update on 2019.11.28

给各个类的发送函数加个装饰器,用以统计发送速率

Update on 2019.12.01

错误地使用 PULL-PUSH socket 对儿,这种组合模式,虽是一发多收,但是每一条消息,只能被某一个对端接收。修改为 SUB-PUB socket组合

Update on 2019.12.09

粘贴一个实测的截图
image
CPython version: 3.7.2; pyzmq version: 18.1.0

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages