当前位置: 技术问答>linux和unix
写个ftp的客户端,但是发送RETR命令的时候接收不到服务器传回的值
来源: 互联网 发布时间:2016-12-21
本文导语: 写个ftp的客户端,但是发送“RETR filename”命令的时候接收不到服务器传回的值,我的命令发送顺序是这样的: 1:发送用户名,密码,登陆成功 2:发送"TYPE A"成功 3:发送"PASV"成功,收到服务器的响应后计算出端口供...
写个ftp的客户端,但是发送“RETR filename”命令的时候接收不到服务器传回的值,我的命令发送顺序是这样的:
1:发送用户名,密码,登陆成功
2:发送"TYPE A"成功
3:发送"PASV"成功,收到服务器的响应后计算出端口供文件数据传输连接
4:发送"RETR filename",我用select监听控制连接的套接字,但是连接总是超时!就是说收不到服务器的相应,这个说明什么?是否有可能是我需要get的文件在服务器上没有,但是我用绝对路径访问ftp共享目录下的文件也是不行,有人遇到过这个问题吗
1:发送用户名,密码,登陆成功
2:发送"TYPE A"成功
3:发送"PASV"成功,收到服务器的响应后计算出端口供文件数据传输连接
4:发送"RETR filename",我用select监听控制连接的套接字,但是连接总是超时!就是说收不到服务器的相应,这个说明什么?是否有可能是我需要get的文件在服务器上没有,但是我用绝对路径访问ftp共享目录下的文件也是不行,有人遇到过这个问题吗
|
我也在搞FTP客户端,我没遇到楼主所说的问题。
客户端每发一命令,服务器都有应答信息的,楼主可以打印这些信息。
另外,FTP所以的命令信息都是通过控制连接通道(不知这个表达准确不准确)的,像LIST得到的文件列表及下载、上传数据是通过数据连接通道的。
楼主还是打印一下信息,跟踪一下。
搞了好久,终于能解析出目录下面的文件名称了,文件数量以K为单位,压力不小啊。
客户端每发一命令,服务器都有应答信息的,楼主可以打印这些信息。
另外,FTP所以的命令信息都是通过控制连接通道(不知这个表达准确不准确)的,像LIST得到的文件列表及下载、上传数据是通过数据连接通道的。
楼主还是打印一下信息,跟踪一下。
搞了好久,终于能解析出目录下面的文件名称了,文件数量以K为单位,压力不小啊。
|
试一下列目录能不能行,看看列目录的结果有没有这个文件
记得是LIST吧
记得是LIST吧