WebServer
文章平均质量分 74
笔记
大灰狼吃树皮
这个作者很懒,什么都没留下…
展开
-
网络编程实践笔记
1.简述高并发服务:事件驱动+非阻塞IO以太网层(帧,frame)、IP层(分组)、传输层(TCP分节)、应用层(消息)TCP断开的时间和条件TCP是字节流协议,不保留消息的边界非并发网络编程实例:TTCP:classic TCP performance testing tool(TCP性能测试工具)Round-trip:measure clock error between two hosts(测试两台机器的时间差)Netcat:a Swiss hnifeSlow sink/sourc原创 2021-01-23 23:05:08 · 334 阅读 · 1 评论 -
muduo库学习总结
mudou学习笔记1.关键类1.关键类5个关键Buffer、EventLoop、TcpConnection、TcpClient、TcpServer原创 2020-11-11 15:29:52 · 502 阅读 · 0 评论 -
HTTP请求数据报文和响应报文格式
请求报文:GET空格/index.html空格HTTP/1.1(第1行,发起请求信息)key:(空格)value(第2行)\r\n(第3行)响应报文:HTTP/1.1空格200空格OK(第1行,响应状态)key:空格value(第2行,状态)\r\n(第3行)<html><head>内容</head></html>\r\n(第4行,响应内容)\r\n(最后一行)注:格式要一模一样...原创 2021-01-15 22:30:29 · 336 阅读 · 0 评论 -
多线程服务器编程模型
目录1.关注的3.5个问题2.服务流程2.1 优化方案1:为每一条连接,创建一个线程。2.2 优化方案2:reactor网络模型2.2.1 单线程reactor结构2.2.2 one loop per thread模型3.例子4.知识点1.关注的3.5个问题连接的建立连接的断开消息到达消息发送完毕2.服务流程客户端:socket、connnect、send、recv服务端:socket、bind、listen、accept、recv、send、close阻塞IO和非阻塞IO:没有数据的原创 2021-01-17 12:44:05 · 250 阅读 · 0 评论 -
进程间通信
1.管道管道是一种进程间的通信方式,在命令行的使用|就是使用的管道,将一个进程的输出作为另一个程序的输入。一般的实现流程是先调用pipe创建一个管道,然后fork开启多进程,然后发送端关闭fd[0],写fd[1],接受端关闭fd[1],读fd[0],缺点是半双工、只能在具有亲缘关系的进程间通信。使用方式。`函数原型#include<unistd.h>int pipe(int fd[2]);//fd[0] 读操作//fd[1] 写操作//父进程想子进程发送数据,父进程先关闭读端原创 2021-01-11 22:42:23 · 214 阅读 · 0 评论 -
多路I/O复用的三个函数select、poll、epoll
多路I/O复用一、select1.函数原型2. 使用步骤二、poll1. 函数原型三、epoll1. 函数原型2. 详解一、select1.函数原型函数原型#include<sys/select.h>select(int maxfdpl,fd_set *restrict readfds,fd_set *restrict writefds,fd_set*restrict exceptfds,struct timeval *restrict tvptr);//maxfdpl:最大文原创 2021-01-07 22:13:33 · 140 阅读 · 0 评论 -
socket简述
简述1.网络中标识主机和地址:ip地址唯一标识主机,协议+端口唯一标识主机的进程2.三元组(ip地址、协议、端口)唯一标识网络中的进程,网络中的进程通过socket实现。3.socket是一种文件:对其打开->读/写->关闭socket的函数1.socket();int socket(int domain,int type,int protocol);//对应于普通文件的打开操作,普通文件返回一个文件的描述符,socket()返回一个socket的描述符,唯一标识一个socket,后原创 2020-11-17 20:21:32 · 786 阅读 · 0 评论