发送命令时,Java中的FTP客户端无法正常工作

时间:2011-11-14 12:15:19

标签: java ftp

我使用标准Java套接字在Java中创建一个简单的FTP客户端。我已成功连接到服务器。然后我可以发送FTP命令,如:

USER myUserName
PASS myPassword

并且输出显示我已登录到服务器(我始终使用发送到服务器的每个命令发送\ r \ n字符串)。当我发送命令“ls”时,我得到了这个回复:425 No data connection

当我从MS Windows终端从标准FTP客户端登录服务器时,我可以使用“ls”命令获取所有文件和文件夹的列表,但它在我的Java应用程序中不起作用。

FTP命令“HELP”在我的客户端和MS Windows中的标准FTP客户端中也提供不同的输出。

我做错了什么?

1 个答案:

答案 0 :(得分:4)

您需要使用PORT或PASV建立数据连接。文件列表不会通过控制连接。你将不得不阅读ftp。 Windows中ftp命令的命令与您自己实现时必须使用的协议中的命令1:1相对应。