当前位置:  技术问答>linux和unix

C++编写FTP客户端解析LIST命令获取目录不完整,求解。

    来源: 互联网  发布时间:2016-12-22

    本文导语:  背景: C++编写一FTP客户端,对FTP协议、文章等约了解一些。现在需要列出服务器某目录的文件(及目录),服务器已经完善,不需修改——准确说,服务器是一个硬盘,可以通过FTP访问、操作。 现在上传文件功能已经...

背景:
C++编写一FTP客户端,对FTP协议、文章等约了解一些。现在需要列出服务器某目录的文件(及目录),服务器已经完善,不需修改——准确说,服务器是一个硬盘,可以通过FTP访问、操作。

现在上传文件功能已经完成,但列表功能一直出现问题。

LIST命令通:
发送LIST命令(有回应信息)->创建、连接数据连接通路(其中也包括PASV命令),读取该通路上的数据(得到的即目录、文件名称),关闭->回应信息。
示例:
227 Entering Passive Mode (172,18,222,100,16,171).
150 Opening ASCII mode data connection for file list
此处为文件名称
226 Transfer complete.

但是,接收的数据不完整(有时完整)。目前目录文件不多,开辟空间为2048,暂时足够。单步调试时,发现该缓冲区中有完整数据,也能正常输出。但直接运行程序的话,接收不完整。

另外,关闭LIST数据连接后,再次接收命令回应信息(即上面出现的226 Transfer complete.之类的),出现阻塞,用select的话,超时。

向各位大牛请教,如果可以完整接收服务器的文件列表?后期可能会有很多文件列表在同一个目录中,不过目前连几个文件名称都显示不完整。

或许我的思路出路,大家可以说说自己的思路;
或许是代码某些问题,我可以贴代码;
或许是其它问题。

在下向各位请教了。


|
我来了
知道你已经解决了
纯粹帮你 把贴结了

|
不懂,帮顶,接分,,,

|
不懂,帮顶,接分,,, 

|
友情UP,呵呵 

|
只会Java,只能帮你顶了

|
只会Java,只能帮你顶了.t

|
帮顶

|

|
单步的时候完整,直接跑不完整?
会不会是网络接收方面的问题,试试看直接跑的时候直接抓包,是不是有些包漏掉了。
呵呵

|
菜鸟来了

|
帮结贴 哈哈

|

|
路过,顶

|
哈哈 都来了啊

|
踩着楼主脚印过来的

|
 纯属接分!!!!!!!!!!!

|
使用TCP模式?
send
recv
最好有回应模式
客户端,服务器。
while (1)
{
    recv();
    if (...)
    {
        send();
    }
}

|
呵呵,我是看了楼主的http://topic.csdn.net/u/20110815/16/57f9cd87-4651-42e0-a6fa-1535cb18af50.html
过来,瞅瞅的~

|
顶一下了,不知所云!

|
不懂C++

|
菜鸟路过,顶

    
 
 

您可能感兴趣的文章:

  • 如何编写和调用c++类
  • 在C++程序中编写Lisp代码 InteLib
  • 请问在C++中能编写SDL游戏程序吗
  • linux下用C或C++编写图形附加码程序
  • 新装的Red Hat Linux,想编写C++程序,但有些疑问
  • vim中如何实现c++代码编写的自动格式化和语法高亮的功能?
  • 用Emacs编写c++程序的朋友请进来。
  • 使用c++编写gtk程序
  • 怎样用c或c++语言编写一个程序定时访问某个网站,并登录?
  • 求教:如何在用C++编写的server中调用Linux命令
  • 解析使用C++编写无错代码的方法技巧
  • 求文件系统的设计(C++编写,能在VC运行)
  • 在LINUX下怎样编写C++语言?(新手在线等待)
  • 头疼了N天了,求高人指点,linux下如何编写C++共享库?
  • ubuntu系统下用GTK编写C界面,出现问题了!求解释!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 客户端程序与容器打交道时客户端用什么程序编写?比如银行添单。
  • linux下用java编写邮箱客户端程序与在windows下有什么不同??
  • 如何编写EJB的客户端程序?
  • 求助:Linux下ftp客户端代码编写
  • 求助各位大侠:Linux下Ftp客户端程序编写
  • 如何参考freeradius client编写自己的客户端
  • 在客户端编写程序调用服务器端EJB中的方法该怎么写?
  • 编写ftp客户端程序遇到的问题
  • 客户端为java,服务器端为c编写的daemon,如何操作啊?
  • 编写 linux shell 有什么好的编写工具呢?
  • VB编写的DLL不能被JAVA调用,用C将VB编写的DLL包装起来,做成一个新的DLL;用C编写的DLL可以被JAVA调用,用JAVA再进行一层的包装,因为JAV
  • 用Qt3.1.4编写的程序,如何加入自己编写的另外一个动态库呀?诚恳指教!!
  • 如图 scsi <---> scsi controller <---> pci <---> cpu 如果我想对scsi编写驱动我该对哪个部分编写?
  • 用什么工具编写JSP,可以象用InterDev编写ASP一样方便快捷?
  • 编写程序如编写人生,有人和我的意见相同吗?
  • 请问用jsp编写程序,非要编写代码么?有没有什么象fontpage2000那样的工具,能够生成一些固定模板的工具?就是说不用全部都写的工具。望
  • 用jsp编写web程序到底和java serverlet编写web程序有和区别
  • socket中,从client端(用java编写的)传到server端(用c编写的)的字符串为何总多一个ASCII码为10的字符呀?
  • 如何用java编写一个NT平台下的标准服务?
  • 关于用vj编写sniffer一问。
  • Linux下如何编写脚本文件
  • java能不能编写单独运行的程序?
  • Linux有没有类似bat文件,如何编写。
  • 用JAVA编写COM组件
  • 关于版本和bug管理的rule(规则)的编写
  • 在windows下可以用Code::Blocks编写linux程序吗?
  • 函数互相调用时Makefile编写
  • AIX下如何编写批处理命令和计划任务
  • 怎么用JBuild编写java console程序


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3