随笔分类 -  网络

摘要:一 不使用KQueue #include <iostream> #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <fcntl.h> int main() { int sfd = socke 阅读全文
posted @ 2022-06-23 15:43 Bannirui 阅读(56) 评论(0) 推荐(0) 编辑
摘要:reactor=多路复用+线程池 抽象出组件,符合单一职责设计模式 reactor组件负责亲请求接收和分发 1 单reactor单线程模型 特点 一个reactor负责接收连接和读写请求,分发他们 一个handler线程负责所有读写请求的处理 1.1 reactor组件 package debug. 阅读全文
posted @ 2022-05-22 12:48 Bannirui 阅读(119) 评论(0) 推荐(0) 编辑
摘要:前言 操作系统而言 1 多路复用就是os提供了系统调用,能一次性知道多个fd的状态 2 不同的操作系统类型有不同的实现方式,实现方式即使是轮询也是发生在kernel中,其效率肯定远远大于在内核外的轮询 select 数组容量限制fd数量的无差别轮询O(N) 发生内存拷贝 poll 没有fd数量限制的 阅读全文
posted @ 2022-05-21 21:35 Bannirui 阅读(412) 评论(0) 推荐(0) 编辑
摘要:我的理解 网络模型属于应用的编码实现,一种范式,其根基一定是os内核针对tcp/ip协议栈的支持 上层使用的需求推进着底层的支持力度,底层支持方式作用着上层的使用形式 同步IO-应用程序自己去解决数据读取的过层,应用过程既关注过程,也关注结果 异步IO-应用程序向内核发送数据读取的需求,过程由os操 阅读全文
posted @ 2022-05-21 12:49 Bannirui 阅读(50) 评论(0) 推荐(0) 编辑
摘要:跟网络相关的概念比较多,而且特点都是看不见摸不着,无法形成具象 这个文档就是针对概念记录具体的跟踪过程 一 TCP握手/挥手 1 服务端代码 package debug.io.bio.server; import java.io.BufferedReader; import java.io.IOEx 阅读全文
posted @ 2022-05-20 20:58 Bannirui 阅读(149) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示