2024-12-11 10:22:14 +08:00
|
|
|
# transm
|
|
|
|
|
2024-12-14 16:20:25 +08:00
|
|
|
以一个简易的使用`Server`作为中转传输文件。
|
2024-12-11 10:22:14 +08:00
|
|
|
|
|
|
|
# 简要说明
|
|
|
|
|
|
|
|
- `client`和`server`均为命令行端程序,无GUI。
|
|
|
|
- `client`从`server`下载文件,如果本地有重复则覆盖。
|
2024-12-13 12:35:08 +08:00
|
|
|
- 工作方式为`client A`端提交待传输的文件列表到`server`,`client B`端从`server`获取有哪些客户机提交的哪些任务,可以从中下载。
|
|
|
|
|
2024-12-17 08:57:43 +08:00
|
|
|
# 开发
|
|
|
|
|
2024-12-14 16:20:25 +08:00
|
|
|
mark == 0 表示,请求下载端的数据。
|
2024-12-13 12:35:08 +08:00
|
|
|
|
2024-12-14 16:20:25 +08:00
|
|
|
mark == 1 表示,服务客户端数据。
|
2024-12-16 14:36:53 +08:00
|
|
|
|
2024-12-17 08:57:43 +08:00
|
|
|
传输的内容统一使用`UTF-8`编码,`Linux`平台下不动,`Win`平台下转为`GBK`编码。
|
|
|
|
|
|
|
|
`win`平台下,统一源码为`UTF-8`编码,编译结果为`GBK`编码。
|
|
|
|
|
2024-12-16 14:36:53 +08:00
|
|
|
# 其他
|
|
|
|
|
|
|
|
基本可以用了,开发暂时就先到这里,如果要优化或者有需要的的话,有几个大点需要处理。
|
|
|
|
|
|
|
|
- 非`transm`客户端链接到服务器,发送不能识别的数据包格式,将导致`buffer`无限增加。
|
|
|
|
|
2024-12-17 08:09:58 +08:00
|
|
|
# 注意
|
|
|
|
|
2024-12-18 22:04:54 +08:00
|
|
|
- 如果两个`transmc`客户端在同一台机器上同时收发同一个文件将导致文件丢失损坏。
|