
各位好,我做了一个局域网文件 /文件夹传输工具,工作方式参考了 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 没图形化是没有用灵魂的 |