transm/README.md

33 lines
1.3 KiB
Markdown

# transm
以一个简易的使用`Server`作为中转传输文件。
# 简要说明
- `client``server`均为命令行端程序,无GUI。
- `client``server`下载文件,如果本地有重复则覆盖。
- 工作方式为`client A`端提交待传输的文件列表到`server``client B`端从`server`获取有哪些客户机提交的哪些任务,可以从中下载。
# 开发
mark == 0 表示,请求下载端的数据。
mark == 1 表示,服务客户端数据。
传输的内容统一使用`UTF-8`编码,`Linux`平台下不动,`Win`平台下转为`GBK`编码。
`win`平台下,统一源码为`UTF-8`编码,编译结果为`GBK`编码。
# 其他
基本可以用了,开发暂时就先到这里,如果要优化或者有需要的的话,有几个大点需要处理。
-`transm`客户端链接到服务器,发送不能识别的数据包格式,将导致`buffer`无限增加。
- 服务端如果最大上载速度下载速度(较慢)不一致,将导致大量数据堆积在`Server`端内存等待`Client`端缓慢处理。
- 如果`client`端在传输数据的过程中异常关闭,`Server`端需要丢弃与该客户端相关的数据包。
# 注意
- 如果两个`transmc`客户端在同一台机器上同时收发同一个文件将导致文件丢失损坏。