- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
文件:webbench.c/* * (C) Radim Kolar 1997-2004 * This is free software, see GNU Public License version 2 for * details. * * Simple forking WWW Server benchmark: * * Usage: * webbench --help * * Return codes: * 0 - sucess * 1 - benchmark failed (server is not on-line) * 2 - bad param * 3 - internal error, fork failed * */ #include socket.c#include unistd.h#include sys/param.h#include rpc/types.h#include getopt.h#include strings.h#include time.h#include signal.h/* values *//**注**:volatile是易变的,不稳定的意思。volatile是关键字,是一种类型修饰符,用它修饰的变量表示可以被某些编译器未知的因素更改,比如操作系统、硬件或者其他线程等,遇到这个关键字声明的变量,编译器对访问该变量的代码不再进行优化,从而可以提供对特殊地址的稳定访问。**/volatile int timerexpired=0;//根据测试时间判断是否超时int speed=0;//服务器响应数int failed=0;//请求失败数int bytes=0;//读取字节数/* globals */int http10=1; //http协议版本;0为http/0.9, 1为http/1.0, 2为 http/1.1/* Allow: GET, HEAD, OPTIONS, TRACE */#define METHOD_GET 0#define METHOD_HEAD 1#define METHOD_OPTIONS 2#define METHOD_TRACE 3#define PROGRAM_VERSION 1.5//定义HTTP请求方法GET,此外还支持OPTIONS、HEAD、TRACE方法int method=METHOD_GET;int clients=1;//并发数;由命令行参数-c指定,默认为1int force=0;//是否等待服务器应答int force_reload=0;//是否使用cache,默认为0,使用int proxyport=80;//代理服务器端口号,默认为80char *proxyhost=NULL;//代理服务器地址int benchtime=30;//测试时间;由命令行参数-t指定,默认为30s/* internal */int mypipe[2];//创建管道;用于父子进程间通信,读写数据char host[MAXHOSTNAMELEN];//主机名#define REQUEST_SIZE 2048char request[REQUEST_SIZE];//HTTP请求信息/**注**:struct option 类型数组。说明:该数据结构中的每个元素对应了一个长选项,并且每个元素是由四个域组成。通常情况下,可以按以下规则使用。第一个元素,描述长选项的名称;第二个选项,代表该选项是否需要跟着参数,需要参数则为1,反之为0;第三个选项,可以赋为NULL;第四个选项,是该长选项对应的短选项名称。另外,数据结构的最后一个元素,要求所有域的内容均为0,即{NULL,0,NULL,0}。结构中的元素解释如下:1)const char *name:选项名,前面没有短横线。譬如help、verbose之类。2)int has_arg:描述长选项是否有选项参数,如果有,是哪种类型的参数,其值见下表:符号常量 数值 含义no_argument 0 选项没有参数required_argument 1 选项需要参数optional_argument 2 选项参数是可选的3)int *flag:如果该指针为NULL,那么getopt_long返回val字段的值;如果该指针不为NULL,那么会使得它所指向的结构填入val字段的值,同时getopt_long返回04)int val:如果flag是NULL,那么val通常是个字符常量,如果短选项和长选项一致,那么该字符就应该与optstring中出现的
您可能关注的文档
- 电焊机型号教案.doc
- 2016年设备处工作总结教案.doc
- 电化学处理废水电极发展现状教案.docx
- 电焊工复习题教案.docx
- 电化学试题教案.docx
- 2016年石家庄高三质检二英语试题及答案教案.docx
- 2016年授信企业贷后现场检查情况的通报教案.docx
- 电机启动前的检查教案.doc
- 2016年硕士研究生入学考试政治真题教案.docx
- 电解水制氢技术在可再生能源发电领域的应用教案.doc
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
最近下载
- 附件14:项目《标价分离书》.xls VIP
- 喷塑规章制度管理.doc VIP
- 2025年高考真题——物理(甘肃卷)含答案.docx VIP
- DBJD25-60-2018 甘肃省建设工程施工机械台班费用定额(含税).docx
- 考研真题 中山大学化学学院化学(B)历年考研真题汇编.docx VIP
- 2025年甘肃高考化学真题试卷含答案.docx VIP
- Colorful七彩虹 主板Intel H610H610M-D EVO V21 说明书(系统 win10 win11)用户手册.pdf
- 新九年级暑假衔接讲义 20 作文(二)描写出彩(学生版+教师版)2025八升九语文统编版.docx VIP
- 2024年甘肃高考政治试卷(真题+答案).pdf VIP
- 模板7:CSCEC8B-CM- M10303《项目商务资料档案清单》.xls VIP
文档评论(0)