当前位置: 首页 > 知识库问答 >
问题:

为什么我不能将FTP客户端连接到服务器?

米元凯
2023-03-14

我制作了一个FTP客户端(被动),它无法连接到服务器。我使用的FTP服务器是Filezilla;我只是用它来测试。每次我运行java程序(FTP客户端)时,Filezilla都会断开连接,并在Eclipse中出现以下错误:线程“main”java中出现异常。木卫一。IOException:SimpleFTP在连接到FTP服务器时收到未知响应:220 FileZilla服务器0.9.50 beta版在FTP上。ftp。通过ftp连接(ftp.java:25)。测验main(test.java:12)

这是FTP客户端

package ftp;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;

public class ftp
{

 public synchronized void connect(String host, int port, String user,
          String pass) throws IOException {
    Socket socket = new Socket(host, port);
    //  if (socket != null) {
     //     throw new IOException("SimpleFTP is already connected. Disconnect first.");
     //   }
      //  socket = new Socket(host, port);
        BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        BufferedWriter writer = new BufferedWriter(
            new OutputStreamWriter(socket.getOutputStream()));

        String response = reader.readLine();
        if (!response.startsWith("220-")) {
          throw new IOException(
              "SimpleFTP received an unknown response when connecting to the FTP server: "
                  + response);
        } else System.out.println("1:"+response);

        writer.write("user geek"+"\r\n");
        writer.flush();
        response= reader.readLine();
        System.out.println("2"+response);
       // response = reader.readLine();
      /*  if (!response.startsWith("331 ")) {
          throw new IOException(
              "SimpleFTP received an unknown response after sending the user: "
                  + response);
        }
        else {*/
        writer.write("PASS hello" +"\r\n");
        writer.flush();
            response= reader.readLine();
            System.out.println("3"+response);
        //}


        response = reader.readLine();
        /*if (!response.startsWith("230 ")) {
          throw new IOException(
              "SimpleFTP was unable to log in with the supplied password: "
                  + response);
        }
        else {*/
            System.out.println("4"+response);
        //}
 }

}

这是我连接的程序:

package ftp;

import java.util.Scanner;

public class test {
 private static Scanner scan;

public static void main(String args[]) throws Exception
    {

        ftp s = new ftp();
            s.connect("localhost",21,"geek", "hello");

    }

}

还尝试编写我的lan ip而不是“localhost”

共有1个答案

周翰
2023-03-14

... 220 FileZilla服务器版本0.9.50测试版

if (!response.startsWith("220 ")) {

您希望得到以220开头的响应

 类似资料:
  • 我目前有一个在非阻塞模式下使用 NIO java 库编写的桌面服务器。您可以在此处找到完整的服务器项目。我还创建了一个用于测试目的的非阻塞 NIO 客户端。你可以在这里找到这个项目。最后,服务器应该用于Android即时通讯应用程序。我使客户端和服务器都基于发送“数据包”进行通信的想法。我的意思是,Packet 类的引用被打包到字节缓冲区中并通过套接字通道发送。然后,它们在另一端反序列化并执行。

  • 使用依赖关系spring-cloud-starter-zipkin,应用程序应该在sleuth触发时连接到zipkin服务器。我没有启动zipkin服务器,所以它应该抛出一个连接异常。但什么也没发生。而当我启动zipkin服务器时,它不能接收任何东西。 应用程序.属性 和日志

  • 我的connect调用的结果始终是10061:连接被拒绝。 如果我将服务器代码更改为绑定到::(或者将空主机传递给getaddrinfo()(同样的事情)),并将客户机代码更改为在getaddrinfo()调用中指定空主机,那么V4客户机可以很好地连接。 谁能解释一下为什么?我没有读到任何东西,如果我们想要双套接字行为,我们必须指定一个空主机(因此使用INADDR_ANY)。这不可能是一个要求,因

  • 我有一个示例Spring启动应用程序来运行图形QL服务器,具有作为客户端,我的pom有以下依赖项: 当我尝试从客户端连接时,出现以下错误: 狩猎决议好心建议。 我还有几个问题: 我应该使用SimpleGraphQLHttpServlet将请求路由到endpoint吗 我正在React UI上使用apollo client,那么它是强制使用apollo server还是spring boot可以工作

  • [粤语][1] [1]:https://i.stack.imgur.com/c7n8R.png'C:\用户\busra\下载 C:\用户\busra\下载 C:\用户\busra\下载 C:\用户\busra\下载

  • 下面是我的服务器代码: 下面是我的客户端活动代码: 以下是客户端活动的xml布局文件: 因此,我开始认为这不是连接端口的问题,而是应用程序的android客户端的问题。但我想不出有什么问题。 顺便说一下,当我试图发送消息时,运行客户端的手机和运行服务器的笔记本电脑都连接到了同一个网络。