10 2022 档案
摘要:就这上篇文章的代码,我们会继续实现以下websocket的协议。 为什么要使用websocket呢? 它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。 其他特点包括: (1)建立在TCP协议之上,服务器端的实现比较容
阅读全文
摘要:我们继续我们的HTTP服务器的实现(使用别的代码来实现), 这个HTTP服务器的实现,我们主要就是关注TCP服务器中的recv还有send的处理。 首先,看一下HTTP,我们在用浏览器访问我们的TCPserver的时候,会收到什么样的请求。 这是直接访问端口的时候,返回的数据,我们在随便输入一个地址
阅读全文
摘要:我们紧接着上篇文章,看看我们上节课的代码有什么问题? 可以明显的看出来上节课的代码公用了一个同样的缓冲区进行读写,正常的情况下我们需要封装一个结构体,让每个对应的客户端的FD都有独立的结构进行读写还有接收连接。 具体的结构如下: struct sock_item { //客户端的fd int fd;
阅读全文
摘要:我们继续上篇的文章继续更新我们的代码。 首先就是介绍一下epoll的三个函数。 epoll_create epoll_ctl epoll_wait 如何去理解这3个函数,我是这样去理解这个函数, 就像我们去取快递一样,之前的Select模型,是通过轮询的方式一直去循环遍历客户端FD的列表,而EPOL
阅读全文
摘要:我们知道网络IO模型一共有5种,这里我们主要讨论同步IO和select多路复用的情况。 我们先从一个简单的TCP服务器的代码出发,来讨论一下这个是怎么实现的。 一个十分简单的TCP服务器 一个简单的TCP的服务器的建立流程是这样 建立SOCKET 绑定端口 监听 接受连接 接受消息 发送消息 关闭连
阅读全文
摘要:重点内容 linux基础命令和工具 CPU性能监控 内存性能监控 文件IO性能监控 网络IO监控 1 linux基础命令和工具 1.1 Grep搜索字符 grep命令用于在文件中执行关键字搜索,并显示匹配效果。 一些常见的选项 | 参数 | 作用 | | | | | -c | 仅显示找到的行数 |
阅读全文