0

コード内のポート番号は、接続しようとしている 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: 接続が拒否されました: java.net.DualStackPlainSocketImpl.connect0 (ネイティブ メソッド) で接続します。 java.net.AbstractPlainSocketImpl.connectToAddress(不明なソース) java.net.AbstractPlainSocketImpl.connect(不明なソース) java.net.PlainSocketImpl.connect(不明なソース) で java.net.SocksSocketImpl.connect(不明なソース) java.net.Socket で.connect(不明なソース) org.apache.commons.net.SocketClient.connect(SocketClient.java:182) org.apache.commons.net.SocketClient.connect(SocketClient.java:203) com.testftp.FTP .main(FTP.java:23) 接続されていません (socketERR)

4

1 に答える 1

0

はい、そうしなければなりません。

ちなみに、これはサーバーに接続しようとするすべてのサービスに有効です。一部のサービスでは、標準のデフォルト ポートが確立されています。たとえば、FTP は 21 です。クライアントとサーバーの両方が同じポートを使用している限り、これらの既定のポートを変更して、サービスを別のポートで実行することができます。

于 2016-04-29T12:58:18.513 に答える