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-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
|
|
|
|
|
|
|
# 其他
|
|
|
|
|
|
|
|
基本可以用了,开发暂时就先到这里,如果要优化或者有需要的的话,有几个大点需要处理。
|
|
|
|
|
|
|
|
- 非`transm`客户端链接到服务器,发送不能识别的数据包格式,将导致`buffer`无限增加。
|
|
|
|
|
|
|
|
- 服务端如果最大上载速度下载速度(较慢)不一致,将导致大量数据堆积在`Server`端内存等待`Client`端缓慢处理。
|
|
|
|
|
|
|
|
- 如果`client`端在传输数据的过程中异常关闭,`Server`端需要丢弃与该客户端相关的数据包。
|