局域网文件分享协议和方案的探究
局域⽹⽂件分享协议和⽅案的探究
不管是学习还是⼯作中经常遇见这样⼀种情况,需要传输⼀些⽂件给同学,同事或者其他⼈,这些⽂件经常是些软件安装包,素材,⽂档,游戏安装包,软件安装环境等等。多数情况下都会选择使⽤u盘,先把⽂件复制进去,然后把u盘交给其他⼈,那个⼈再拷贝出来,完成⼀次⽂件传输。当然作为⼀个IT⼈⼠,程序猿,或者Geek这样传输实在太没品太不装X了,⽽且主要有以下弊端:
1、受u盘⼤⼩的限制,如果你有⼀个4G优盘,并且已经使⽤了⼀部分空间,那么你传输⼀个稍微⼤⼀点的⽂件就呵呵了。
2、受u盘速度的限制,⽐如传输⼀个Matlab安装包,或者⼀段⾼清电影,假设这个⽂件⼤⼩为5GB, 你使⽤⼀个路边买来的杂牌8G
古墓丽影9中文补丁USB2.0 u盘,写⼊速度2MB/s,读取速度4MB/s,那么你写⼊这个⽂件需要5*1024/2/60=42.6分钟,你把u盘交给别⼈那个⼈后,那个⼈拷贝到电脑上耗时5*1024/4/60=21.33分钟,传输这个⽂件⾄少需要42.6+21.3=63.9分钟。也就是说传输⼀个5G⽂件要⼀个⼩时。何况有些游戏安装包,蓝光视频都10G以上,有的电脑只有⼀个USB⼝的这你就慢慢等吧,要是中间断掉了还得重来。
3、受⽂件数量限制,只要体会过就会知道,拷贝同样⼤⼩的⼀个⼤⽂件要⽐⼀堆⼩⽂件要快的多,要是你有数千个word⽂档,你会发现压缩成zip包之后的拷贝速度要⽐直接拷贝到u盘快好⼏倍。
4、u盘⾥的其他⽂件都暴露了,我们在学习和⼯作中使⽤的u盘往往不是空的,⾥⾯可能会有很多其他我们不想给别⼈看或者知道的⽂件,如果你使⽤u盘传输,别⼈好奇想要看看你u盘⾥的其他⽂件你也拦不住,总不能⼀直在屏幕上盯着吧。
5、⽆法同时和多⼈分享⽂件。以前在学校经常有这样⼀种情况,⽼师把⼀个⽂件拷贝到⼀个u盘⾥,然后让全班同学传递这个u盘来拷贝,如果⼀个班30多个学⽣等传递完早就下课了,⽽⼀个u盘⼜不能同时插两个电脑。⾮常耽误时间。
鉴于u盘分享有如此多的弊端,所以我们在⼯作和学习中急需⼀个⽅便快速安全的⽅式来和别⼈分享⽂件,由于⼀般我们和同学,舍友,同事都在同⼀个局域⽹内,所以可以使⽤⽹络协议来完成这些事情,也就是FTP,HTTP,SMB这些常⽤协议,我们主要要实现以下⽬标
1、本机搭建⽂件服务器要尽量⽅便快速,只需⿏标点⼏下就能完成。
2、接收⽂件的⼈不需要安装任何软件,什么准备都不⽤做就可以接收⽂件,哪怕是个对电脑⼀窍不通的⼩⽩或者⽼⼈都可以收到⽂件。
3、对于接收⽂件的⼈设置⽤户名和密码登录,避免⽆关⼈员下载到你的⽂件
4、接收⽂件的⼈可以选择先接收哪个,后接收哪个
5、可以多个⼈同时接收你的⽂件
6、不论接收⼈⽤windows,MAC OS还是Ubuntu甚⾄是Android⼿机都可以接收你的⽂件重装系统后不能上网
FTP协议:
ftp协议已经满⾜上⾯提出的所有要求,字如其名是⽂件分享的⾸选⽅案,我们既可以使⽤⾃⼰电脑搭建FTP服务器也可以个闲置电脑搭建ftp服务器,下⾯简单介绍⼀下windows服务端和Linux服务端的搭建
FTP服务端搭建⼀般有三个步骤:
1、安装服务端软件
2、添加客户端登陆⽤户名密码
3、设置共享的⽂件夹
Windows服务端搭建:
下载完之后进⾏安装,安装过程中什么都不⽤改,直接下⼀步就⾏,安装完后会⾃动在14147端⼝开
启FTP服务,然后运⾏FileZilla 登录localhost,如下图
这样第⼀步就完成了,下⾯我们配置登录⽤户的⽤户名密码,点击界⾯最上⾯的⼈头标记,然后点击ADD添加⼀个⽤户名,我这⾥添加了⼀个“alex1”并设置了密码
这样⼀个客户端⽤户就添加完成了,然后设置共享⽬录,选择左⾯的“Shared folders”
我这⾥分享“D:\安装包”下⾯的所有⽂件,并且可以设置某些⽤户的读写权限。⾄此⼀个ftp服务器就搭建完毕了
此时接收⽂件的⼈在浏览器上输⼊”ftp://你电脑的ip地址“ 然后输⼊⽤户名密码,整个“D:\安装包”⽂件夹就显⽰在屏幕上,点击相应⽂件就可以下载了,如下图
Linux FTP服务端的搭建
Linux会稍微⿇烦⼀点,⾸先要安装ftp服务软件vsftpd sudo apt-get update
sudo apt-get install vsftpd
然后修改vsftpd的配置
sudo nano /f
添加下图中黄线中的⼏⾏
修改完之后重启vsftpd服务:sudo service vsftpd restart
然后添加客户端⽤户名和密码,顺便设置共享⽬录
⾸先新建⽤户,这⾥设置⽤户名为alex2,让共享⽬录为⽤户⽬录/home/alex2
sudo mkdir /home/alex2 #新建分享⽂件夹
sudo useradd -d /home/alex2 -s /bin/bash alex2 #添加新⽤户alex2
sudo passwd alex2 #设置alex2的密码
然后把新⽤户alex2添加到FTP服务器的⽩名单⾥
sudo nano /etc/allowed_users
添加⼀⾏alex2,如下图
然后像windows服务端⼀样,接收⼈使⽤”ftp://你电脑的ip地址“ 然后输⼊alex2和密码就可以下载/home/alex2⽬录下的内容了
私家车多长时间年检
房屋维修基金HTTP协议:
FTP协议已经很强⼤很实⽤了,但是如果你想要实现更多功能,⽐如更花哨的Web界⾯,下载统计,数据库等等可以搭建HTTP服务器,⼀般⽤NodeJS和Tomcat就可以实现
NodeJS Windows服务端搭建
下⾯这⼀段摘⾃Express的说明⽂档
⾸先假定你已经安装了 ,接下来为你的应⽤创建⼀个⽬录,然后进⼊此⽬录并将其作为当前⼯作⽬录。
$ mkdir myapp带水的成语
$ cd myapp
死心的句子
通过 npm init 命令为你的应⽤创建⼀个 package.json ⽂件。 欲了解 package.json 是如何起作⽤的,请参考 。
$ npm init
此命令将要求你输⼊⼏个参数,例如此应⽤的名称和版本。 你可以直接按“回车”键接受默认设置即可,下⾯这个除外:
entry point: (index.js)
键⼊ app.js 或者你所希望的名称,这是当前应⽤的⼊⼝⽂件。如果你希望采⽤默认的 index.js ⽂件名,只需按“回车”键即可。接下来安装 Express 并将其保存到依赖列表中:
$ npm install express --save
如果只是临时安装 Express,不想将它添加到依赖列表中,只需略去 --save 参数即可:
$ npm install express
安装过程⼤约是这样的
然后新建d:\fileshare\index.js,输⼊如下内容

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。