conf.h conf.c

conf.h
conf.c


根据文件名称能知道这两个文件是用于配置操作的

conf.h中有一个大大的结构体conf_t就是用于存储axel的全局配置的。

看一下conf.c中的主要函数
  1. int conf_init( conf_t *conf )
复制代码
从本地机器的环境变量中加载配置信息
  1. int conf_loadfile( conf_t *conf, char *file )
复制代码
从环境变量指定的配置文件中加载配置信息,如连接数,代理,端口等信息。
  1. int parse_interfaces( conf_t *conf, char *s )
复制代码
从环境变量中指定的文件中读取一行后,如果是网卡信息,则解析网卡列表,并且去系统中获取网卡的地址列表。

====================
conn.h
conn.c


顾名思义,这两个文件主要实现用于网络连接的相关操作

conn_t 定义了一个连接的所有信息。
  1. int conn_set( conn_t *conn, char *set_url )
复制代码
用一个url来构造conn_t数据结构,操作包括:

根据http://xxx或者ftp://xx来识别是ftp还是http协议。
拷贝URL地址
接续要下载文件的basename和dir,ftp或者http的主机地址,用户名,密码和服务端口等。
  1. char *conn_url( conn_t *conn );
复制代码
根据conn的协议类型,构造一个标准的http或者Ftp的URL地址
  1. void conn_disconnect( conn_t *conn );
复制代码
断开连接
  1. int conn_init( conn_t *conn );
复制代码
打开到http服务器的连接或者打开到FTP服务器的连接并且切换到ftp的下载目录
  1. int conn_setup( conn_t *conn );
复制代码
发出文件请求,并读取返回控制信息,而不读取实际数据
  1. int conn_exec( conn_t *conn )
复制代码
执行ftp或者http请求,并且读取返回的控制信息,而不读取文件数据
如果是ftp的话,发送RETR命令并且读取返回码,如果是http的话发送http request消息,只读取返回的http头数据.
  1. int conn_info( conn_t *conn )
复制代码
通过连接获取要下载文件的大小和其它信息,FTP的话,要测试断点续传功能。http的话,要获取头信息.

你可能感兴趣的:(conf.h conf.c)