分类: 基础知识

8 篇文章

thumbnail
锁的基础知识
主要讨论 锁的分类,锁的特点,锁的应用场景 为什么要有锁?为了解决多线程环境下的数据竞争问题,保证共享资源在同一时刻只有一个线程访问。 常见的锁 锁类型特点适用场景优点缺点互斥锁 (Mutex)一次只允许一个线程访问最常见的线程同步简单、可靠线程阻塞、切换开销大自旋锁 (Spinlock)线程忙等(不停循环检查锁)锁持有时间非常短上下文切换开销小C…
thumbnail
nbEasyTshark 05-08 实时获取网卡数据
05 获取地理信息 ——非复吕蒙之三日,但见楚庄之飞鸣。 wireshark中是没有获取地理信息功能的,这算是一个新future 我们使用开源的数据库ip2region来做。 项目地址:https://github.com/lionsoul2014/ip2region 我们能拿到一个ip2region.xdb文件,如果要使用这类信息库文件,首先得加…
thumbnail
nbEasyTshark 01-04 从环境配置开始~
01 概述 基于tshark, cpp开发类wireshark软件 nbEasyTshark Wireshark主要特点: 支持三千多种协议深度解析 实时捕获和离线分析 强大的过滤功能 (Display Filter、Capture Filter) 支持流分析(FollowStream) 支持多种操作系统(Windows、Linux、macOS) …
thumbnail
cs144 c++实现tcp/ip
一事未毕,不启二事。 ——yangnanbei Lab0 Warmup https://cs144.github.io check web_get 环境搭建 prepare: 如何检查环境设置是否到位呢? 我们可以尝试用telnet命令 telnet cs144.keithw.org http 观察到如下打印: 而后输入 GET /hello HT…
thumbnail
IO多路复用的一切
Linux下有三种IO复用方式:epoll,select和poll,为什么我们都推荐用epoll,它和其他两个有什么区别呢 Why is epoll faster than select? 小白视角:一文读懂社长的TinyWebServer | HU
thumbnail
Socket网络编程的一切
TCP,UDP TCP 特点: 面向连接 超时重传 拥塞控制 TCP三次握手 TCP四次挥手 UDP 特点: 无连接 不可靠 使用udp的服务:DNS,SNMP这些场景对延时、丢包不敏感。 Socket socket是网络编程中绕不开的一个话题,最早由伯克利大学的研究员提出,也称伯克利套接字。它可以视为一个用于屏蔽底层协议栈的接口。 下图是sock…
thumbnail
从输入URL到页面显示内容
杨南北闲暇时喜欢逛B站,让我们从一个经典的问题开始:当杨南北在浏览器中输入www.bilibili.com时,到网页回显网页内容的过程中,发生了哪些事呢? DNS 当我们输入www.bilibili.com加载网页时,我们实际上是作为客户端在请求服务器资源(Client/Server, C/S模型)。这引入一个问题,这个服务器在哪?在茫茫的网络世界…