我使用标准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客户端中也提供不同的输出。
我做错了什么?
答案 0 :(得分:4)
您需要使用PORT或PASV建立数据连接。文件列表不会通过控制连接。你将不得不阅读ftp。 Windows中ftp命令的命令与您自己实现时必须使用的协议中的命令1:1相对应。