局域网快速传输数据(大量文件)

本文介绍了在局域网内利用Python的http-server模块实现主机间快速数据传输的方法,包括环境搭建、文件共享、服务启动和IP查询等步骤。然而,实际测试中速度未达预期,作者发现只能通过下载压缩包实现文件传输,并探讨了隐藏命令行界面和无界面运行的问题。此外,还提出了解决cmd命令行关闭导致服务暂停的可能方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求(情景)

机器性能与工作量原因,有一堆实验需要在不同机器同时进行,试验之后需要把数据汇总,每次通过用移动硬盘去拷贝带回来实在是麻烦而且传输速度受限,我的硬盘大概在40M到80M/s,但是在面临几十G大数据的时候仍是会显得很无力。
于是想着如何能够无须借助中介快传数据(防止时间double),有通过网线快传的方式,但是在不同办公室的机器通过硬件相连甚至还不如我用硬盘来回拷贝方便。
就想着如何能不通过硬件,然后发现一个局域网内快传的方法,据说最大能达到800M每秒。md我自己实测只有4M每秒,还是要根据需求来,或许可以选择FTP方式可以快一些。

1. 本机搭建http-server

python环境

由于是通过python来搭建http服务的,所以首先要有python环境。自行寻找教程下载安装。
没有python的话建议选择其他方式传输数据,这方法特么速度不快还事多。

创建文件夹,设置共享

自己找一个地方创建一个文件夹,设置为共享:
如下图红色标注和蓝色标注两种方式打开设置。
在这里插入图片描述

选择所有用户:
在这里插入图片描述
其实个人感觉这个共享可以不设置,因为这个everyone好像是指本电脑的其他用户而已,反正我设置了。

python开启http-server

在此共享文件夹下打开cmd命令行,输入python -m http.server [端口号]
在这里插入图片描述
回车之后显示下面第一行命令表示http服务已经开启。

本机ip查询

随便在一个位置打开cmd命令行输入ipconfig即可查询。

2. 其他计算机访问

其他计算机直接浏览器输入ip+端口号就可以访问了。
在这里插入图片描述

本机查看访问信息

然后本机会显示访问信息:
在这里插入图片描述
这个cmd命令行关了就代表服务也关了,也不能点击,因为点击代表输入,就相当于暂停,点击了的话点一下回车就行了。ctrl+c可以停止服务。
传输的时候打开,不传输的时候关闭就行。

待解决的问题

在我个人的实验中,通过浏览器只能查看和访问这个文件夹以及文件,却不能下载,我是没找到下载选项,头秃。 已解决!!!

解决方法

如果是文件夹或者文件的默认选项是打开,长久思考之后我尝试了一个zip压缩包上去,再点击,默认下载了hhh。所以下载只能下载压缩包。

其它问题

先前所说,如果cmd命令行关闭或者点击就会暂停服务,那么如何不显示cmd命令行呢?
pythonw 命令可以,pythonw和python的区别就是pythonw是可视化程序中使用的,即不显示命令行窗口,也就是说转为后台运行。
但是这种情况也会出现一个问题:转为后台运行,如何去关闭,只能通过去任务管理器找到这个后台程序(据我查询,可能名字叫python,但是我没敢关,因为我有在用python做其他事情,反正局域网内可用)。或者通过搜索端口,把你先前占用的那个端口给他闭了,应该就可以了,仅猜想。

可以个锤子,我试了不行,pythonw虽然可以无视图,但是是在可视化软件中在后端使用的。
这个我用了pythonw不行,而且,我通过把开启http服务的命令放在一个pyw文件中再通过pythonw命令去执行也是不行的,虽然可以执行,但是不能访问。
可能是因为httpserver必须要返回信息,所以一定要有输出信息的路径吧,但是我就是简单使用,所以并不打算研究如何让他无界面运行,而且把这么个命令封装成windows服务好像也挺麻烦的,暂时就是通过在其他桌面打开命令行挂着。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值