我正在实现一个简单的 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# 中实现服务器)。但我不知道为什么会出错。是不是因为我应该发送一些握手/问候信息,比如控制连接中的那些信息,而不是直接将数据发送到同步服务器和客户端?如果是,该信息的状态码是什么?
谢谢和最好的问候。