主函数的逻辑
命令行参数解析
命令行参数解析当然是linux下的经典做法,通过getopt_long库函数,该函数非常强大,若是没有这个函数,多命令行参数解析会显得很麻烦,很复杂,但有了这个函数就非常简单了,若你不了解这个函数的使用方法,那么点击这篇博客或者自己查阅相关博客进行学习,不然你肯定是看不懂代码的,在此就不做多余的讲解了。在解析命令行参数的过程中,会对每个不同的参数做出一些相应的操作,若解析到有问题的参数会结束并打印帮助手册。命令行参数解析完毕后,就进入请求报文构造函数。
构造http请求报文
这个模块需要进行大量的错误分析,分析用户有可能出现的错误填写,并及时终止,如果在这一步不做好这件事,后面会出现几乎找不出的错误。然后就是在填写报文时,一定要严格的注意格式,不要随意少空格、回车换行,保证报文填写的正确。
这一过程中关键是恰当的利用管道在父子进程间通信,其中函数benchcore函数时每个子进程在要求时间内发送请求报文的函数,该函数会记录请求的成功次数、失败次数、以及服务器回复的字节数。
其实这个webben程序的逻辑并不复杂,难得是前面的命令行参数的解析,以及HTTP请求的细节。