webbench 源码阅读备忘

读取源码过程中理解tcp协议

(1)端口号是tcp/udp 层才有的概念,80端口是为http协议开放的端口

(2)之前理解的客户端要建立一个socket,通过connect 函数建立与server的连接才能通信。

实际上可以直接建立一个与server 连接的socket socket(server_host,server_port),来直接通信

s=Socket(host,port);

(3)想要向server发送get 请求应该怎么办呢

直接向上面建立的socket_fd中写入请求数据;write(s,req,rlen) 其中请求req的格式如下(这是什么标准)todo 了解http server 如何对这些请求进行处理,返回各种status code:

GET /?name=XXG&age=23 HTTP/1.1
Host: localhost:8081
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
(4) 然后等待http server 返回结果就行了 read(s,buf,1500);
(5) webbench fork了多个进程来模拟多个客户端,每个客户端抓取的结果写入到pipe中(bytes字节数、速度等),由主程序最终进行结果统计


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值