我正在开发一个 FTP 客户端,我正在尝试了解数据连接的工作流程。
据我了解,在command
您退出之前,初始 ( ) 连接是永久的。但是,我不确定数据连接 - 它是否按命令重新启动?所以你打电话PORT ...
or PASV
,得到第二个连接,做 a LIST
,得到结果,连接关闭,重新开始?
另外,每次连接关闭后是否需要再次调用PASV
(或)?PORT ...
似乎当我尝试使用被动连接测试某些东西时,在第一个命令返回结果并关闭数据连接后,我无法重新连接到同一个端口。我可以继续调用PASV
-> Data Connect -> Run Command -> Get Results -> Data Connection closed -> PASV
,但这似乎不是它的运行方式?
另外,如果有人在 FTP 上有比 RFC 更简洁的好材料,我真的很感激。