FTPClient JAVA,端口号

时间:2013-09-13 11:57:47

标签: java windows ftp

我的代码中的端口号必须与我尝试连接的FTP服务器(在本例中为localhost)使用的端口号完全相同吗?

public class FTP {
    public static void main(String args[]) {
        FTPClient ftpc = new FTPClient();
        try {
            ftpc.connect("127.0.0.1",49961);
            ftpc.login("username", "password");
            System.out.println("Connected");
        } catch (SocketException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            System.out.println("NOT Connected (socketERR) ");
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            System.out.println("NOT Connected (ioERR) ");
        }

    } 
}

错误日志:

  

java.net.ConnectException:拒绝连接:connect at   java.net.DualStackPlainSocketImpl.connect0(Native Method)at   java.net.DualStackPlainSocketImpl.socketConnect(未知来源)at   java.net.AbstractPlainSocketImpl.doConnect(未知来源)at   java.net.AbstractPlainSocketImpl.connectToAddress(未知来源)at   java.net.AbstractPlainSocketImpl.connect(未知来源)at   java.net.PlainSocketImpl.connect(未知来源)at   java.net.SocksSocketImpl.connect(未知来源)at   java.net.Socket.connect(未知来源)at   org.apache.commons.net.SocketClient.connect(SocketClient.java:182)at   org.apache.commons.net.SocketClient.connect(SocketClient.java:203)at   com.testftp.FTP.main(FTP.java:23)NOT Connected(socketERR)

1 个答案:

答案 0 :(得分:0)

是的,它必须。

顺便说一下,这对尝试连接服务器的任何服务都有效。一些服务已经建立了标准的默认端口 - 例如,FTP是21。只要客户端和服务器都使用相同的端口,就可以更改这些默认端口并在其他端口上运行服务。