网络编程

分类「网络编程」下的全部文章,共 10 篇。 ← 返回全部文章

从Linux内核角度看TCP粘包

大家好,这里是物联网心球。今天我们来学习TCP粘包,TCP粘包是工作和面试中经常会碰到的问题。网上有一些资料也介绍过TCP粘包,但是这些资料更多的讲述的是TCP粘包的解决方案,并没有对问题的原因做详细的介绍。本文从内核的角度出发,将TCP粘 …

2025-11-03 网络编程 TCPsocket

一文搞懂TCP Nagle算法

大家好,这里是物联网心球。 今天我们来讨论一个比较热门的话题TCP Nagle算法。关于TCP Nagle算法,大家或多或少接触过。但是,大家未必能够把TCP Nagle算法讲清楚。面试时,考官也喜欢问Nagle算法相关的问题。所以我们很有 …

2025-09-03 网络编程 TCPNagle

网络编程之端口复用

大家好,这里是物联网心球。 最近一直忙着写新书,本文同样是新书的一个小节。本文讨论的是网络编程中一个比较重要概念端口复用。 端口复用,即两个套接字绑定相同的IP和端口。注意这里说的两个套接字指的是两个TCP套接字或两个UDP套接字,而不是一 …

2025-03-29 网络编程 socketTCPUDP

Linux epoll完全图解,彻底搞懂epoll机制

大家好,这里是物联网心球。 最近一直忙着写我的新书,很久没有更新文章了,今天的文章是新书中的一个小节,希望能帮助大家彻底搞懂epoll机制。 1.从内核看epoll机制 select和poll虽然能够实现IO复用的功能,但是由于设计的缺陷 …

2025-01-11 网络编程 epollI/O多路复用

这么多种TCP服务器,总有一款适合你

前言:本文以TCP服务器为例,详细讲述TCP各种服务器模型的优缺点,以及TCP服务器模型的演变过程,揭开各种服务器模型的神秘面纱。学完本文,你总能挑选一款合适的TCP服务器。

2023-11-28 网络编程 TCPsocket并发模型

Linux五种IO模型

前言: 最近一直在研究Linux IO模型,Linux IO模型是一个挺复杂的概念,分析Linux IO模型一定要注意方法,否则会在一个个概念中,迷失自我。

2023-11-26 网络编程 I/O多路复用socket

图解Linux poll机制,终于集齐IO复用三剑客(精华篇)

前言: 前面几篇文章已经详细讲解了Linux select和epoll机制,select和epoll两种IO复用方式用的人比较多,就像一家人一样,epoll相当于大哥,select相当于弟弟,而poll相当于二哥,家里的老二通常是很容易被忽 …

2023-11-23 网络编程 pollI/O多路复用

图解Linux select机制_从内核到应用(精华篇)

前言: select机制已经被很多人都讲解过,select使用起来也不是特别难,为什么还要花时间再次讲解select机制? 在回答这个问题之前,我们先问一下自己,是否有足够的信心保证在使用select编程时不出错,select机制虽然看起来 …

2023-11-20 网络编程 selectI/O多路复用

一篇文章让你真正搞懂epoll机制

1.epoll简介 epoll是Linux内核为处理大批量文件描述符而作了改进的poll,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。

2023-11-15 网络编程 epollI/O多路复用

UDP校验和(checksum)原理

1.校验和原理 1.1 校验和计算 校验数据以16bit为单位进行累加求和,校验数据需为偶数字节,奇数字节末尾填充0变为偶数字节。 如果累加和超过16bit,产生了进位,需将高16bit和低16bit累加求和。 循环步骤2,直至未产生进位为 …

2023-04-23 网络编程 UDP字节序