问题1:C#写的一个ftp客户端,一段日志如下:命令:> SIZE ttpsetup.exe
状态:> 接收到:213 2087443
状态:> 文件大小为:2087443
状态:> 起始位置为:1460
命令:> REST 1460
状态:> 接收到:350 Restarting at 1460.
命令:> PASV
状态:> 接收到:227 Entering Passive Mode (192,168,1,96,4,243).
命令:> TYPE I
状态:> 接收到:200 Type set to I.
命令:> RETR ttpsetup.exe
状态:> 接收到:125 Data connection already open; Transfer starting.
状态:> 正在下载 . . .
状态:> 下载512BYTE
状态:> 下载512BYTE
状态:> 下载436BYTE
状态:> 共下载:2920BYTE
状态:> 接收到:426 Connection closed; transfer aborted.我用了一个521字节的buffer来接收服务端传来的数据。从上面可以看到,只接收了2个512字节和一个436字节,服务端就把连接关了。我用的是本机作服务器IIS自带的ftp服务器,win2000系统,防火墙已关闭。问题是:为什么服务端把连接关了?或怎么才能完整地接收完数据?问题2:怎么解析各种ftp服务器LIST命令返回的文件列表?IIS自带的ftp服务器可返回两种格式的文件列表:dos格式和unix格式。Server-u呢?其他的ftp服务器呢?怎样自动识别服务器返回的格式并进行相应的解析?这两个问题把我折磨得不行了,望各位牛人让我解脱一下。可能因为我理解问题不到位,上面的问题描述不清楚的请您告知。

解决方案 »

  1.   

    ftp用得少,给你文章吧http://www.vckbase.net/document/viewdoc/?id=1387
      

  2.   

    一般都使用第三方的ftp服务器,比如我就用的Server-u
      

  3.   

    TO:zhangci226(三只熊熊)
    这篇文章我看过了,但与我的问题联系不大。请你再找一下关于我这种问题的资料吧。我找了很久了没找到。
      

  4.   

    你去ftp服务器上看看服务器的log,判断一下为什么
      

  5.   

    to:bassil(bassil) 
    这是两种格式的服务器日志,您帮忙看看有啥问题不?
    我咋看不出来呀?IIS格式的:
    192.168.1.96, anonymous, 2006-5-25, 13:25:33, MSFTPSVC1, SOLI, 192.168.1.96, 0, 0, 0, 331, 0, [31]USER, anonymous, -,
    192.168.1.96, anonymous, 2006-5-25, 13:25:46, MSFTPSVC1, SOLI, 192.168.1.96, 0, 0, 0, 331, 0, [32]USER, anonymous, -,W3C格式的:
    #Software: Microsoft Internet Information Services 5.0
    #Version: 1.0
    #Date: 2006-05-25 05:17:53
    #Fields: time c-ip cs-username s-sitename s-computername s-ip s-port cs-method cs-uri-stem cs-uri-query sc-status sc-win32-status sc-bytes cs-bytes time-taken cs-version cs-host cs(User-Agent) cs(Cookie) cs(Referer) 
    05:17:53 192.168.1.96 anonymous MSFTPSVC1 SOLI 192.168.1.96 21 [25]USER anonymous - 331 0 0 0 15 FTP - - - -
    05:19:39 192.168.1.96 anonymous MSFTPSVC1 SOLI 192.168.1.96 21 [26]USER anonymous - 331 0 0 0 0 FTP - - - -
    05:19:52 192.168.1.96 anonymous MSFTPSVC1 SOLI 192.168.1.96 21 [27]USER anonymous - 331 0 0 0 0 FTP - - - -
    05:20:05 192.168.1.96 anonymous MSFTPSVC1 SOLI 192.168.1.96 21 [28]USER anonymous - 331 0 0 0 0 FTP - - - -
      

  6.   

    问题似乎解决了:我用的是windows2000pro,后来换了一台机器 winxp的,没作任何改动就好用了。谢谢大家关注。