高手上啊!!就是从ftp服务器下载文件,不能用socket发送"get filename localfilename",这样发送失败,难道不能用get方法?

解决方案 »

  1.   

    是的,FTP协议不象POP3或SMTP协议那样简单,虽然它们的登陆方式都一样,但此后就不同了,如果你需要进行dir、put、get等操作的时候需要另开一个sock端口专门用作接受或是发送数据用,而命令的发送就是你原来的那个端口,当然在发送get filename localfilename这个命令之前还得告诉对方我这里接收数据的端口是多少等信息。
    具体用JAVA实现我没写过,你可以看一下RFC中FTP协议就会了。
      

  2.   

    代码好难看:)不过我可以提个意见:你可以看看那RFC中关于ftp的文档,里面好清楚的,好像ftp是两个通道,一个是用来登陆的(从中可以得到另一个通道的IP及PORT),另一个是用来上下载文件的。具体可以看看rfc。java包中已经有ftpconnection这个包了,用socket做太麻烦了
      

  3.   

    多谢littlefish00(追梦人)指点迷津,还有哪位高手知道怎么用java实现,高分相送!
      

  4.   

    对不起,我粘贴的时候没注意排版,呵呵.你说的那个ftpconnection包在jdk1.3里好像没有吧,我知道在jbuilder的ipworks里有ftp功能,如果您知道ftpconnection详细信息的话,请麻烦告知小弟,多谢!
      

  5.   

    哦,我误会了,您说的是java.net.ftp.*里面的那个吧,这个我知道,现在我想搞明白它的socket是怎么实现的.