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