【发布时间】:2011-07-28 13:25:39
【问题描述】:
我想为自己写一个小项目——FTP客户端。 我知道使用 GUI、Socket 和 ServerSocket 进行 TCP 通信。 我请你告诉我实施 FTP 客户端需要了解的更多信息... 谢谢
【问题讨论】:
-
你自己想做多少=
标签: java sockets ftp network-programming tcp
我想为自己写一个小项目——FTP客户端。 我知道使用 GUI、Socket 和 ServerSocket 进行 TCP 通信。 我请你告诉我实施 FTP 客户端需要了解的更多信息... 谢谢
【问题讨论】:
标签: java sockets ftp network-programming tcp
首先,您需要阅读 RFC。在实现了最常见的操作之后,用至少一个好的 FTP 服务器来测试你的客户端。规范中有一些内容很容易出错。然后,将您编写的内容与其他实现进行比较。前段时间,我写了一个FTP client for my H2 Database project。
【讨论】:
标准 Java 中内置了相当多的内容(注意,不是 JAVA,它不是首字母缩写词)。
就这么简单
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLConnection;
// ....
try {
URL url = new URL("ftp://user:pwd@ftp.example.com/test.txt;type=i");
URLConnection connection = url.openConnection();
InputStream inputStream = connection.getInputStream();
OutputStream outputStream = connection.getOutputStream();
// ... do something useful
} catch (IOException ex) {
// report the error
}
【讨论】:
您可能想知道存在一些库,即Apache Commons Net。 除此之外,您可能还想查看NIO 以了解一些新颖的网络通信方法。没有说任何关于字符编码的内容(对于 ASCII 传输,您可能需要它),错误地称为 Charset。
【讨论】: