各位好,我做了一个局域网文件 /文件夹传输工具,工作方式参考了 send-anywhere,发送端生成一个接收码,接收端输入接收码接收文件,不过只用于局域网,所以也不需要互联网支持。语言是 rust 。已经做了主流操作系统的 release 包。新手一枚,不知道这东西有没有用(除了我自己),也不知道做的怎么样,请大神批评指正。
1
cctv1005s927 2020-12-04 10:20:15 +08:00
速度呢?有相关的指标吗
|
2
b1u2g3 2020-12-04 10:44:47 +08:00
开的是什么端口?
|
3
machengim OP @cctv1005s927 感谢指教,刚才测试了一下,发现了一个问题:同样文件发送端和接收端互换的话速度差距很大,反复测试多次,很稳定。很奇怪。
Mac -> Linux: 12MB/s Linux -> Mac: 3MB/s Linux -> Windows: 4MB/s Windows -> Linux: 12MB/s |
4
f6x 2020-12-04 11:43:18 +08:00
局域网文件传输工具 ~= 病毒传播工具
|
5
machengim OP @b1u2g3 先打开一个 UDP 端口用来监听和发送广播,建立 TCP 连接后关闭;另一个 TCP 连接传送文件。端口号目前是系统分配的。
|
6
JustSong 2020-12-04 12:19:28 +08:00 via Android
我个人感觉写成 HTTP 服务的形式可能更好用一些,Go 版本,供参考: https://github.com/songquanpeng/lan-share-go
|
7
yingfengi 2020-12-04 12:38:34 +08:00 via Android
呃。。。smb 之类的不香吗
|
8
loli 2020-12-04 12:43:56 +08:00 via Android
@yingfengi
我也奇了怪,好像从没人推荐过 smb. 这个倒还好,起码是多平台支持. 好多要在 windows 上实现这功能的人非要推荐什么 ftp,webdav 。什么小巧,一行代码。自带的不香吗?权限控制,操作便捷,目录管理。速度真没想得那么慢。 |
9
machengim OP @loli 我也试过 smb,不过感觉在 linux 下配置有点费劲,每次都要查攻略,后来反而是 dropbox 用的多。这个小工具我现在就是用做 dropbox 的补充的,体积大或者不必保存到 dropbox 里的文件。
|
10
AoTmmy 2020-12-04 13:33:43 +08:00 via Android
推荐 chfs,非常方便
|
11
niubee1 2020-12-04 13:36:46 +08:00
python -m http.server
|
14
imn1 2020-12-04 14:08:48 +08:00
这个速度很低啊,我自己用 ftp 可以上 100MB/s,某些情况还要限速呢 —— 某些情况达到 80+MB/s 时,win 这边写会卡,所以 win 这边要限 50MB/s 进入
我也发现系统之间速度不同,linux 和 win 之间,就算不限速,ftp 传同一个大文件双向速度不同,搞不清原因 题外 ftp 不方便的地方是权限,不能传随意文件,也只能传到预设的 ftp 目录,还需要一些挪动操作 当然,权限是合理的管理规则,我只是纯个人设备间传文件,觉得如果有无需权限管理的工具更方便些 |
15
vigack 2020-12-04 14:09:58 +08:00
速度一般啊,为啥不用 bit sync
|
16
machengim OP @imn1 速度可能跟路由器有关?我刚试了往虚拟机里传文件,速度也在 100MB/s 左右。主机是 Linux,客机是 windows 。但是两个方向的速度差异我确实不理解。
|
17
AoTmmy 2020-12-04 15:19:19 +08:00 via Android
|
19
ZiLong 2020-12-04 20:25:23 +08:00
没有一步到位的,我觉得可以慢慢优化,对于速度,可以用 wireshark 抓包看看
|
20
machengim OP @ZiLong 我发现速度慢不是程序造成的。我用 npm 和 python 的 http server 还有 iperf3 都做了速度测试,得到了一样的结果:从 mac 连接 linux 是 12MB~15MB/s,从 linux 连 mac 是 2 ~ 3MB/s 。非常诡异。
|
21
kingfalse 2020-12-04 23:28:25 +08:00 via Android
Windows 的话,everything,就可以起个 HTTP 服务给别人下载了
|
23
fox0001 2020-12-05 14:09:48 +08:00 via Android
Linux 的话,我比较懒,一般用 sftp,或者直接 scp
|
24
shunconf 2020-12-08 08:51:21 +08:00
windos 没图形化是没有用灵魂的
|