FTP上传文件
先讲下从FTP服务器端下载文件的流程:客户端先和服务器建立一个连接,然后登陆到FTP服务器,再发送STOR命令到服务器,服务器响应,客户端接着开始把文件内容send给服务器,服务器端再把接收到的文件内容写入文件,退出登陆。这样一个完整的下载文件流程就完成了。说下这里面的一些细节:登陆到FTP服务器时,可以用anonymous作为通用用户名,密码可以随便设置,当然,也可以在服务器端设置一个,不过前提是你有服务器端的权限;客户端每发送一条命令到服务器,服务器都会做出响应,然后返回一条信息,我们可以根据返回信息的值来判断与服务器的连接和操作是否正常;"STOR filename"这条命令是告诉服务器端,客户端要准备上传文件了,服务器端这时会返回一条信息,告诉客户端,它已经做好了接收的准备,然后客户端就可以把文件内容send给服务器,服务器端会自动把文件内容写入文件,如果服务器端已经有了相同文件名的文件,则会替代里面的内容。
综上,用程序语句来描述的话,客户端程序总的流程大概是这样的:socket()->connect()->loginFtp()->send("STOR FileName")->send("fileContent")->logoutFtp()->closeSocket()。中间省略了对服务器返回数据的处理。
下面是从网上找的原理图,可能看图理解地更清楚些。
(图片来自于互联网,如有侵权请联系本人,将立即删除)
程序源码:点击下载
一些关键代码,具体代码以及注释请看下载的文件:(注:程序框架由张帧老师的网络编程课提供,客户端发送文件内容到服务器端代码在此基础上进行了修改)
- Go语言"读"后感
- 一个Google Analytics PHP类库