http://www.embed.com.cn/protocol/rfc/rfc959.txt
解决方案 »
- 怎样把两条sql语句的查询信息都放到JTable里
- Eclipse中的编译器和类库是采用了SUN-Oracle公司的吗?
- 如何用JAVA去使用iLBC编码进行语音通信??
- java串口通信新鲜问题
- 局域网与广域网上的监控系统!
- 有关java文件输入输入的一道题,知道的帮我解决一下
- Jbuilder的使用,高手指教!!!
- 关于使用了未经检查或不安全的操作的问题怎么解决呢?
- 有没有象excel那样的java软件吗?
- 急啊!!!java中如何调用C中数据类型指计?
- ftp client程序怎麼通過代理服務器連上ftp server?
- 登陸需要帳號及密碼的ftp站點時,怎麼在瀏覽器的location中填寫地址
user,pass,retr,stor,type,cwd,ls.
接下来就看你的创意了
因为ftp是基于字符的,命令的确认很实现应该好办。
1. 用个线程守住23号端口:ServerSocketThread
2. 建立一个线程池,用来处理客户的请求。
2.1 接受用户的命令比较容易:命令就是字符串形式的,比较就知道了,如up,先实现部分功能就可以了。
2.2 用户验证,用个数据库要实现就可以了。
2.3 给出响应,ftp的响应格式是: 返回码 返回码描述
一些常用的返回码你应该知道,就是200,331,500等等。
紧跟着是要返回的信息,由你实现的功能程序生成好字串就可以了。
2.4 文件传输 这个当然是必须实现的了。用户登陆成功后,会发一个文件传输的配置信息(没有的话,给他返回500^o^),格式是这样的:port 主机ip(中间用的是,) 端口号的/256 端口号%256 ,每个用户有一个这样的配置,专门用来接受文件的,如果,他要文件retr filename ,把他要的文件从这里发出去就是了.
其中还有很多的细节参数设置,看看资料吧,不过不实现也可以了,管他了:)哈哈
1XX,2XX,3XX,4XX,5XX都是有含义的.