我用socket连接ftp服务器
具体问题是
send("user **** \r\n");命令 服务器给我回个220
然后
send(" password **** \r\n")  回个331
send(" pasv \n\r")  回个230
等我发下一个命令的时候 它给我回的是上一个命令成功执行的状态码
这个问题怎么解决阿?

解决方案 »

  1.   

    我用CSocket连接的FTP服务器
      CSocket.Create();
      CSocket.connect(........)这时候是不是服务器应该给我一个欢迎信息 也就是220吧!对吗?可是 在我发送username后 服务器返回了我的220信息
    我发送了psaaword 服务器返回了331信息 (331信息原本在上一步返回的)我就发晕了!除了客户端 还有什么原因吗?
    socket缓存怎么读? recv我会用,除了这种方法呢  
      

  2.   

    我感觉还是socket连接服务器的问题......
     求助:CSocket类连接FTP服务器
           只用Create() 和 Connect()就可以吗
      

  3.   


    你自己的接收乱序了.1.连接上ftp服务器,服务器就马上会发送ftp banner给你(220 XXXXXXX),有可能只是一行,有可能是多行.
    2.发送帐号命令,服务器会返回一个331信息.
    3.发送密码信息,FTP服务器返回是否登陆成功信息.
      

  4.   

    重点没说,你应该是连接上FTP服务器后,没使用过recv()或WSARecv()等就直接发送send("user***\r\n")命令.