Skip to content

quchongbing/RemoteFileTransfer

 
 

Repository files navigation

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

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%