上一篇说了最为底层的用来网络通讯的套接字。有很多基于套接字的一些协议,这些协议构成了当今互联网大多数客户服务器应用的核心
其实这些协议时在套接字上面的进一层封装用来完成特定的应用,这些应用主要包括:
- 文件传输(FTP, SCP 等)
- 阅读Usenet 新闻组(NNTP)
- e-mail 发送(SMTP)
- 从服务器上下载e-mail(POP3, IMAP)等等
这些协议的工作方式与之前在套接字编程中介绍的客户端/服务器的例子很像
因特网客户端??
好吧,之前我们实现了两个机器的通信,那因特网呢?其实我们在因特网这里的网络模型也是按个客户服务器,我想你知道这个是什么了
因特网协议??
socket传递只能是字符串是吧?说起来是TCP UDP协议咩?答案是什么呢?
这里,我们将详细了解三个因特网协议——FTP, NNTP 和POP3,并写出它们的客户端程序。通
过这些程序,你将会发现这些协议的API 是多么的相似——由于保持接口的一致性有很大的好处,
所以,这些相似性在设计之初就考虑到了——更重要的是,你还能学会如何写出这些协议与其它协
议实用的客户端程序来。虽然我们只着重说了这三个协议。在看完这些协议后,你就能有足够的信
心和能力写出任何因特网协议的客户端程序了。
文件传输
因特网中最流行的事情就是文件的交换。文件交换无处不在。有很多协议可以供因特网上传输文件使用。
最流行的有文件传输协议(FTP),Unix-to-Unix 复制协议(UUCP),以及网页的超文本传输
协议(HTTP)。另外,还有(Unix 下的)远程文件复制指令rcp(以及更安全,更灵活的scp 和rsync)
迄今为止,HTTP,FTP 和scp/rsync 还是非常流行的。HTTP 主要用于网页文件的下载和访问Web
服务上。它一般不要求用户输入登录的用户名密码就可以访问服务器上的文件和服务。HTTP 文件传
输请求主要是用于获取网页(文件下载)。
文件传输之FTP
在底层上,FTP 只使用TCP(见前面网络编程相关章节)——它不使用UDP。而且,FTP 是客户
端/服务器编程中很“与众不同”的例子。客户端和服务器都使用两个套接字来通讯:一个是控制
和命令端口(21 号端口),另一个是数据端口(有时是20 号端口)。
协议工作流:
1. 客户端连接远程的FTP 服务器
2. 客户端输入用户名和密码(或“anonymous”和e-mail 地址)
3. 客户端做各种文件传输和信息查询操作
4. 客户端登出远程FTP 服务器,结束通讯
python使用ftp??
我猜你知道了,肯定有什么模块,没错他就是ftplib
好啦,其实如果你有跨网络大量传输文件的需求,完全可以使用python来做,它很简单而且自动化