C语言中的ftp服务器
我必须用C语言开发1台FTP(简单)服务器。C语言中的ftp服务器,c,ftp,C,Ftp,我必须用C语言开发1台FTP(简单)服务器。 简单是什么意思?? 我的意思是FTP服务器必须支持: 身份验证(用户、通行证、端口) 更改目录(CD) 文件列表(列表) 文件检索(RETR) 我刚刚将数字1-2-3-4开发为“分割部分”,我必须将它们合并到main.c中。所以他们没问题。 我不明白的是如何“接收”来自客户的通信。我的意思是如何实现客户想要的(用户、通行证、CD、列表、RETR)? 我已经阅读了rfc959,但是我还没有完全理解客户端和服务器之间的通信。 总结: 客户机连接到服务器(
简单是什么意思?? 我的意思是FTP服务器必须支持:
我不明白的是如何“接收”来自客户的通信。
我的意思是如何实现客户想要的(用户、通行证、CD、列表、RETR)?
我已经阅读了rfc959,但是我还没有完全理解客户端和服务器之间的通信。
总结:
编辑:我在GNU/Linux上如果您正在使用Berkeley sockets API(您提到的
accept()
意味着您正在使用),则通常使用
从套接字读取数据。您需要从客户端连接到的套接字读取数据,然后检查所得到的数据,以确定它是否是您可以处理的有效命令。虽然您的问题有点令人困惑,但我正在尝试回答它。获取命令行参数,如“Username Password”,并通过send
将这些参数传递给服务器,并在服务器端使用recv
进行接收。为了更好地理解,请参阅链接
希望这能解决您的困惑。我正在寻找一个代码来学习带套接字的ftp的工作原理,并在google代码中找到文件工作,代码清晰简单。
URL:我建议您从更简单的开始,先阅读网络教程,直到您知道什么是套接字以及它们是如何工作的,如何创建简单的客户端、简单的服务器,阻塞套接字和非阻塞套接字之间的区别,以及可以处理多个连接的服务器(基本上按照这个顺序)。然后你就可以开始研究制作FTP服务器了。当然,除了上述与网络相关的内容外,你还需要对字符串和字符串解析、文件处理和列表等方面有一些基本的了解。我已经开发了一个小型客户端和服务器(也使用fork),但它们的工作方式与FTP客户端和服务器不同。事实上,我的程序使用的是:1)客户端连接到服务器2)客户端发送“文件列表”3)服务器发送结果4)客户端发送文件名5)服务器发送文件…所以不像ftp XD。在我看来,您的问题更多的是如何解析客户端发送的命令,对吗?我认为你应该把这些过于笼统的问题分成更具体的问题,每一个问题都描述一个问题。阅读史蒂文斯关于网络编程的书,看在上帝的份上,不要把Beej的指南当成是放射性的。哦,对不起:)是的,我在GNU/Linux上开发:)但我不明白的是“客户端发送了什么”?它发送“用户用户名通过pasw”或“Hello USER selected is username”或其他??请记住向上投票并接受解决方案,如果它对您有帮助:-)