ftp服务器怎么搭建

ftp服务器怎么搭建,第1张

方法如下:

操作设备:戴尔笔记本电脑

操作系统:win7

操作程序:管理选项1.0

一、首先选择“管理选项”打开“本地用户和组”可以在列表中看到用户选项,如下图所示

二、然后从下拉菜单中选择新用户,开始构建填写用户名和密码,如下图所示:

三、之后找到“控制面板”选项并将其打开,如下图所示:

四、单击下面的卸载程序按钮进入安装程序列表界面,如下图所示:

五、在左上角的菜单栏中打开或关闭Windows,单击进入,如下图所示:

六、转到Windows功能界面打开或关闭,勾选其子菜单的FTP服务和FTP可扩展性,然后单击按下OK按钮,如下图所示:

七、添加IIS服务后,单击Internet信息服务管理 - 此时我们可以看到连接右框架,如下图所示:

八、然后右键单击该网站以选择添加网站,如下图所示:

九、然后在弹出的添加网站框中输入我们的网站名称,然后选择添加,如下图所示:

十、创建我们的FTP后,启动绑定和SSL设置,端口号选择2121IP地址填写本地IP地址,如下图所示:

如果使用FTP的话,其实不能叫传文件,这个方法实际是建立一个FTP服务器,然后让客户机去访问FTP服务器,从FTP上下载文件到本地计算机。

上网下载FTP服务器软件,如cuteFTP或是Home FTP(推荐,主要是配置简单易用),或是直接在操作系统上安装IIS服务器(这个只能是windows系统)然后应用IIS的FTP功能也可以实现FTP,当然也可以用其它的FTP服务器;这里以HOME FTP Server为例讲解安装下载好的HOME FTP服务器,安装好之后进行配置

点击设置,可以配置匿名用户,指定目录,即FTP文件服务器目录(如:D:\FTPRoot),也可以配置虚拟目录,配置后可以将其它盘(F:\share)的目录虚拟到FTPRoot下,而可以获得FTPRoot的权限;这个服务器就这点最经典

点击新增成员,可以添加新用户,即非匿名用户,可以配置权限和虚拟目录;

配置好之后点击开始服务启动FTP服务器

查看服务器(装有FTP软件的计算机)的IP地址如:192.168.1.23

在客户机,打开我的电脑,在地址栏输入ftp://192.168.1.23 如果配置成功,即可以访问FTP服务器,如果开启文件上传权限,可以上传或下载文件

当然也可以下载一个FTP服务器客户端工具,即可以访问

注意:1.如果没安装FTP客户端,使用非匿名用户访问时要用到帐号和密码,格式为:

ftp://用户:密码@服务器IP 

如:ftp://admin:123456@192.168.1.23

2.登陆后,获得admin用户的所有权限

学习了计算机网络之后,利用java写了一个ftp服务器。

一、实现的ftp命令

实现了基本的user,pass,list,port,quit,retr,cwd,stor等命令

二、以上命令所对应的功能

对应的功能是:下载,上传,获取服务器目录,切换目录等

三、用于测试的ftp客户端:windows自带的ftp客户端

四、实现的思想

1、使用ServerSocket进行监听,每个控制连接的请求到来之后,开启一个线程进行处理(这里使用的java bio,效率较差,对于控制连接最好使用NIO处理,之后会再写个

nio的实现)

2、 对于命令使用工厂方法模式进行设计,当需要添加新的命令的时候,只需要添加一个新的命令类,实现相应接口,修改工厂产生逻辑,而不用修改其他的程序代码。可

扩展性较好,同时符合开闭原则。

五、实现过程中碰到的问题

1、对于tcp与socket的关系理解错误,以为所有的数据的输入都是要经过serverSocket().accept()方法。其实,ServerSocket.accept()所对应的是tcp里面的三次握手建

立连接的阶段,之后的tcp的连接由客户端和服务器端的一对socket来维护,是属于establish阶段,在这个阶段,通信是全双工的,任何一方都能够发送数据。

socket.close()对应的阶段是断开连接(四次挥手)的阶段。

2、刚开始对于ftp协议不是很理解,不知道他的工作方式是怎样的,后来在看了tcp协议卷里面的ftp的内容之后,才知道ftp命令和应答码是关键。eg:刚开始测试时,在

输入用户名之后,不会提示输入密码的。原因:没有返回对应的应答码:331. 另外要注意的是:返回的数据要以换行回车作为结束--\r\n.

六、代码列表

简单说明:

ftpServer:是服务器的主程序,入口,同时负责监听本地的21号端口。

ControllerThread.java:用于处理控制连接的线程(每一个控制连接请求对应一个线程)ps:实在很浪费(流量小,连接多)。

Share:一些全局性数据的维护。

Command:是命令接口,定义了一个所有命令都要实现的方法。

CommandFactory:命令工厂,通过传人的参数,决定生成的命令对象。

UserCommand,PortCommand等:是具体ftp命令的实现


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/182509.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-28
下一篇2023-03-28

发表评论

登录后才能评论

评论列表(0条)

    保存