我被要求进行需要实施FTP协议的作业。我查看了RFC959给出的文件。
我对一些实施细节感到困惑
1)如果需要传输文件,可以使用什么功能。可以将一个简单的send()函数用于非文本文件。
2)是否有可能获得一个好的教程,讲述实现模式和文件结构,并指定哪些是必要的。
希望尽快得到回复。
答案 0 :(得分:2)
FTP通过普通的TCP连接传输文件,您可以使用它传输任何类型的文件。文本文件和二进制文件之间没有区别,它们都只是字节序列。
对于文件传输足以打开连接并多次调用write
函数,直到传输整个文件(检查write
的返回值以了解它发送了多少字节)。
FTP协议的其余部分是基于文本的,并被发送到不同的端口。
通过good tutorial直接使用FTP有netcat,这对了解事情的运作方式非常有用。理解active and passive mode也很有用,因为您要实现至少其中一个。
此外,使用wireshark跟踪TCP流并查看您正在发送/接收的数据,它在调试时非常有用。
答案 1 :(得分:1)
协议实现不会为您提供文件结构。该协议用于定义一些规则和状态。
dev / prog部分取决于你。您只需要尊重FTP协议即可获得规范化以及与其他客户端/服务器的兼容性。
祝你好运