12

GitHub - 1061700625/RemoteFileTransfer: 远程文件传输程序,以知网为例

 4 years ago
source link: https://github.com/1061700625/RemoteFileTransfer
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

RemoteFileTransfer

远程文件传输程序,以知网为例
.
.

原理

  1. 服务端运行在校园网环境,客户端为用户使用。双方建立连接后,客户端上报知网文章URL,服务端获取文章后,即可下发到客户端。
  2. 搜索下载顺序为:pdf下载 -> caj下载 -> 整本下载 -> 异常。
  3. 引入排队下载机制,当有多个用户同时请求下载时,将按照先进先出的原则依次运行。
  4. 同时使用sqlite3数据库对用户进行管理。
  5. 增强容错能力,当正在下载的用户中途离线,也不影响程序继续运行。
  6. 降低CPU占用。
  7. 增加设置120s传输超时。
  8. 为了防止大家各自的程序混乱,所以在打开软件后会要求你输入一个“序列号”,随便输,只要客户端与服务端对应就能联通了。
  9. 如果大家没有校园网,可以跟我联系,我适当运行一下服务端,同时为了和之前的兼容,我的序列号就设置为空了,即直接回车。

拓展

  1. 程序运行后可选择服务端或是客户端(但知网文章下载.exe固定为了客户端),也就是说,只要稍加改动源码,就可以将程序DIY为两台PC之间的远程文件传输。如:
    a. 办公室电脑运行服务端, 家里电脑运行客户端,即可远程利用公司内网下载权限文件至处于外网环境下的电脑。
    b. 服务器器运行服务端,自己电脑运行客户端,即可将服务器上文件下载下来。

下载完成说明:
出现 “完成,重启软件排队”

程序中用到的MQTT服务器,大家可以继续用我的,只不过买的服务器还有一个月就要过期了。
若右键无法粘贴,在标题那里右击,选属性;然后把“快速编辑模式”打钩,这样就能右键粘贴输入了。

因为担心有不良用心的人牟利,且防止滥用资源,所以一个人初始给了5次使用次数。用完了可以使用db数据库.py修改数据库。
.
.
.

公众号:
公众号


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK