第19 章 网络编程函数库网络应用中有许多建立在应用层的协议,这些协议提供了我们常用的HTTP 、FTP 、TELNET 、EMAIL 和即时通信服务。在Linux 系统上设计这些网络应用可通过查阅RFC (Request For Comments )文档获取相关协议的细节,再用Socket 编程实现这些细节以组成一个网络应用程序。但如果对这些应用没有特殊的性能或功能要求,可使用现有的函数库来构建所需要的网络应用,所有常见网络应用在Linux 系统上都有对应的函数库。本章将介绍其中最常用的几个函数库。19.1 HTTP 与FTP 函数库HTTP 协议以TCP为基础,是Web 客户端与WWW服务器之间的应答标准。客户端是终端用户, 文件传输协议(FTP ,File Transfer Protocol )是进行文件传输的一套标准协议,属于TCP/IP 协议中的一部分。FTP 服务一般运行在20和21两个端口。其中端口20用于传输数据流,端口21用于传输控制流。FTP 有两种使用模式:主动传输模式和被动传输模式。19.1.1 libcurl 函数库简介libcurl 是一个为网络客户端提供数