如何用C#开发Ftp,不使用系统IIS

来源:百度知道 编辑:UC知道 时间:2024/09/24 13:56:38
开发一个服务器端得ftp服务,不使用Windows的IIS服务架设的ftp,并且遵循Ftp协议,有没有相关的教程,功能类似于Ser-u的功能
非常谢谢你,但不是我需要的,因为Ftp客户端我已经基本完成,实现的客户端功能下载,上传,获取目录信息,删除目录,更改文件名,移动文件等等,我需要的是类似于Windows的IIS服务功能,也就是说不需要系统安装IIS,自己写一个服务来实现Ftp服务器,急呀!感觉这是在拿C#做服务器操作系统的底层服务,有谁知道啊!

这不是拿C#做服务器操作系统的底层服务,而是做一个监听特定端口并作出特定响应的程序。

FTP,归根到底,只是基于TCP/IP协议的一个扩充,定义了一套规范,用于文件传输文件。例如各种应答码。

你的问题是要写出一个FTP服务器端,那就应该从理解FTP协议上入手。

简单举例来说,你的程序应该实现如下功能(以主动模式为例):
1,监听21端口。
2,接收到数据后,根据FTP协议判断是否为FTP请求。
3,若是,取得客户机端口,根据FTP协议,返回应答码至客户机该端口。
4,服务器指定本机随机端口(<1024),根据FTP协议,通知客户端准备接受数据。

从上面这个简单的过程可以看出,其实就是在用C#操作TCP/IP连接,只不过,每一步发送的信息,指定的端口,都是严格按照FTP协议的。

所以,你现在需要做的是2件事,充分了解FTP协议,学习C#操作TCP/IP连接的知识。