0

我正在实现一个简单的 FTP 服务器。调试时,我尝试使用 FileZilla 客户端连接我的服务器。下面列出了命令面板中的请求和响应模式:

GREETING: 220 (FTP v1.0)
REQUEST:  USER ***
RESPONS:  331 Password?
REQUEST:  PASS ********
RESPONS:  230 login successfully.
REQUEST:  PWD
RESPONS:  257 "/a/" is current directory.
REQUEST:  TYPE I
RESPONS:  200 Type set to I.
REQUEST:  PASV
RESPONS:  200 127,255,0,0,175,200(I specify local port 45000)
REQUEST:  LIST
RESPONS:  150 here is the listing
RESPONS:  226 Transfer done.

但是,出现了一个错误,Fail to read directroy.我认为被动连接确实建立了,因为我可以在套接字上获取流(我在 C# 中实现服务器)。但我不知道为什么会出错。是不是因为我应该发送一些握手/问候信息,比如控制连接中的那些信息,而不是直接将数据发送到同步服务器和客户端?如果是,该信息的状态码是什么?

谢谢和最好的问候。

4

1 回答 1

1

数据连接没有握手。

也许“读取目录失败”错误是由于服务器返回的文件夹列表格式不正确造成的?

于 2012-04-27T07:14:18.870 回答