下面这个文档中:
http://tech.it168.com/jd/2007-10-17/200710171209375.shtml
这部分代码:
if(str.startsWith("PORT")) {  out.println("200 PORT command successful");请问有没有人知道str是怎么来的吗?
我用从socket里面的InputStream读不出数据,谢谢.

解决方案 »

  1.   

    有没有人能给我上面那个例子完整的代码? 或者能给我提供一个简单的FTP 服务器代码? 谢谢了.
      

  2.   

    你给的例子中的str是服务器的接收到的来自客户端的命令字符串...
    你可以看一下FTP协议...FTP客户端向服务器请求时会构造拥有特定开头的字符串发给服务器
      

  3.   

    谢谢兄弟的回复,这个我明白啊,但不清楚str从哪里获取? 哪里赋值?
      

  4.   

    对str的赋值是在FTP的客户端Socket socket = new Socket("220.134.....", 21);
    PrintStream out = new PrintStream(socket.getOutputStream(), false, "GBK");
    //发送PORT命令到服务器
    out.println("PORT");
    对于FTP服务器的接收:ServerSocket s = new ServerSocket(21);
    Socket incoming = s.accept();
    .....
    InputStreamReader isr = new InputStreamReader(socket.getInputStream());
    BufferedReader in = new BufferedReader(isr);
    //取得客户端命令
    str = in.readLine();