![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络
文章平均质量分 78
copy_O_move
号注册得早,实际码龄4年
展开
-
linux学习笔记-muduo网络库设计与实现
文章目录4. 一个线程只允许创建一个loop(one thread one loop)3. __thread 关键字2.获取当前线程ID1. __builtin_expect 分支预测优化4. 一个线程只允许创建一个loop(one thread one loop)muduo中的实现方式如下面代码所示,可以看出是通过一个__thread 变量实现的,__thread变量的特点是:1.每个线程...原创 2020-03-14 00:31:47 · 634 阅读 · 0 评论 -
网络编程实战学习笔记(十四)-epoll
EpollC10k问题非阻塞IO1.是否使用了select poll epoll等就是非阻塞了?非阻塞IO指的是套接字类型,而不是网络事件模型(select,poll,epoll)阻塞IO+多进程模型1.多进程采用fork实现,程序调用 fork 一次,在父、子进程里各返回一次。在调用该函数的进程(即为父进程)中返回的是新派生的进程 ID 号,在子进程中返回的值为 0。想要知道当前执行...原创 2020-03-14 00:28:43 · 137 阅读 · 0 评论 -
网络编程实战学习笔记(十三)-select多路复用
网络编程实战学习笔记(十三)-select多路复用Day20基础知识1.select 方法是多个 UNIX 平台支持的非常常见的 I/O 多路复用技术,它通过描述符集合来表示检测的 I/O 对象,通过三个不同的描述符集合来描述 I/O 事件 :可读、可写和异常。但是 select 有一个缺点,那就是所支持的文件描述符的个数是有限的。在 Linux 系统中,select 的默认最大值为 102...原创 2020-03-14 00:27:31 · 172 阅读 · 0 评论 -
三次握手和四次挥手的包分析
原文链接:https://www.cnblogs.com/god-of-death/p/7905817.html下图为网络编程实战学习笔记(八)中demo的实验抓包情况TCP ------ 抓包分析(seq ack)总结的挺好的,直接抄过来了。总结:1、ACK包可以和其他包合在一起,比如ACK包可以携带数据2、可以接收多个数据包后,一次性给一个应答,不用每个数据包一一对应给应答3、在...原创 2020-03-14 00:29:43 · 663 阅读 · 0 评论 -
muduo源码解析(netty_discard_server中事件连接消息的调用分析)
初次接触这种层层回到的网络库,对其中的代码调用关系很是不熟悉,花了几个小时时间,以连接建立为例画了下一层层的函数调用关系,大致搞明白了,简单记录下。总体的调用关系图如下所示:简单来说即:...原创 2019-10-04 23:50:07 · 145 阅读 · 0 评论 -
TCP中的RST标志(Reset)详解【转】
本来只是查下RST的作用,但发现这篇文章中的三次握手和四次挥手讲的不错,所以转过来记录下!文章要点:**1.Reset为重置操作,Reset包不用等所有包都发送完在发送,随时可以发送,发送时会丢弃发送缓冲区的数据2.FIN会等缓冲区的数据包发送完后再发送3.理论上TCP包每个seq的包都要收到Ack确认后才会发送后续的包,但有了win(滑动窗口)后可以不必每次都收到确认再发,只要新包的s...转载 2019-10-04 14:39:31 · 5142 阅读 · 1 评论 -
netcat学习记录
1.什么是Netcat?Netcat 或者叫 nc 是 Linux 下的一个用于调试和检查网络工具包。可用于创建 TCP/IP 连接,最大的用途就是用来处理 TCP/UDP 套接字。netcat的参数含义:2.用netcat搭建局域网客户端和服务端服务端netcat -l -p port或 nc -l -p port 注意-p参数不能少例如:netcat -l -p 10000用n...原创 2019-09-22 13:13:59 · 910 阅读 · 0 评论