【发布时间】:2010-04-24 18:16:02
【问题描述】:
如何将带有套接字的文件上传到 ftp 服务器?我正在阅读 RFC 中带有“STOR”的内容...这与我在两台计算机之间传输文件的方式相同吗?示例代码会很有帮助...谢谢
【问题讨论】:
-
有很多 FTP 客户端和库,为什么要重新发明?
如何将带有套接字的文件上传到 ftp 服务器?我正在阅读 RFC 中带有“STOR”的内容...这与我在两台计算机之间传输文件的方式相同吗?示例代码会很有帮助...谢谢
【问题讨论】:
我不建议使用原始套接字来上传 FTP 文件,而是使用 SimpleFTP 之类的东西,它更易于使用,并且可以为您节省大量时间。而且由于您正在学习 Java,因此您应该以最简单的方式进行学习。
【讨论】:
JavaWorld 提供discussion of some FTP client libraries。首先,他们甚至教您如何使用“内置”Java URLConnection 以简单的方式进行 FTP。这应该让你开始!
【讨论】:
如果您想学习在 java 中使用套接字,我建议您编写自己的服务器和客户端软件并让它们相互通信,而不是将文件上传到 ftp。
当您了解到您可以阅读 ftp 的 RFC 时,它应该会告诉您如何与 FTP 服务器通信。您需要学习和理解 ftp 协议,以便构造带有要发送的数据的有效数据包,并解析您从 ftp 服务器接收到的数据。
它通常来回发送请求、响应和数据。
文件数据本身只是以其原始形式发送,除非 ftp 服务器需要加密,但请求和响应可以是任何形式,二进制值、十进制值、字符串等,这取决于协议和请求类型。需要知道这一点才能设置有效的通信渠道。
我自己并不了解 ftp 协议,所以我只是演示示例,以便您更容易理解它的全部内容。
【讨论】:
您真的不想编写自己的 FTP 协议实现 - 它并不像乍看起来那么简单。
我正在使用 commons ftp ,它为您提供了一个很好的 API 来处理所有 ftp 操作。
如果您不需要太多控制,可以使用标准 java 库中的URLConnection。
【讨论】:
您使用什么语言? 如果您有权访问 API,则可以使用 FTP functions。
【讨论】: