51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

C语言笔记

list 的实现方式 – C 语言(一)

list 的实现方式 – C 语言(一)

厉飞雨 阅读(130) 评论(0) 赞(17)

C 实现链表的方式有多种,这篇文章我们将实现一种简单的单向链表。C 语言中由于没有模板技术,实现能够存储不同类型的数据就需要根据实际需求来设计链表。 一种方法是链表可以只存储用户数据的指针,另外一种则将用户数据拷贝到链表中。 如果链表只存储数据的指针,则用户数据的内存由用户自行管理。这是因为用户的数据可能分配在堆上,也可能在栈上。如果用户数据分配在堆上,则需要注意的是,如果...

IO多路转接(复用)之select

IO多路转接(复用)之select

厉飞雨 阅读(103) 评论(0) 赞(14)

<ol> <li>IO多路转接(复用) {#1-IO多路转接-复用} ============================</li> </ol> <p>IO多路转接也称为IO多路复用,它是一种网络通信的手段(机制),通过<code>这种方式可以同时监测多个文件描述符并且这个过程是阻塞的,一旦检测到有文件...

IO多路转接(复用)之poll

IO多路转接(复用)之poll

厉飞雨 阅读(124) 评论(0) 赞(13)

<ol> <li>poll函数 {#1-poll函数} =====================</li> </ol> <p>poll的机制与select类似,与select在本质上没有多大差别,使用方法也类似,下面的是对于二者的对比:</p> <ul> <li>内核对应文件描述符...

IO多路转接(复用)之epoll

IO多路转接(复用)之epoll

厉飞雨 阅读(178) 评论(0) 赞(14)

<ol> <li>概述 {#1-概述} =============</li> </ol> <p>epoll 全称 eventpoll,是 linux 内核实现IO多路转接/复用(IO multiplexing)的一个实现。IO多路转接的意思是在一个操作里同时监听多个输入输出源,在其中一个或多个输入输出源可用的时候返回,...

基于UDP的套接字通信

基于UDP的套接字通信

厉飞雨 阅读(120) 评论(0) 赞(12)

udp是一个面向无连接的,不安全的,报式传输层协议,udp的通信过程默认也是阻塞的。 * `UDP通信不需要建立连接` ,因此不需要进行connect()操作 * `UDP通信过程中,每次都需要指定数据接收端的IP和端口`,和发快递差不多 * `UDP不对收到的数据进行排序,在UDP报文的首部中并没有关于数据顺序的信息` * `UDP对接收到的数据报不回复确认信息,发送...

UDP特性之广播

UDP特性之广播

厉飞雨 阅读(182) 评论(0) 赞(14)

1. 广播的特点 {#1-广播的特点} =================== 广播的UDP的特性之一,`通过广播可以向子网中多台计算机发送消息,并且子网中所有的计算机都可以接收到发送方发送的消息`,每个广播消息都包含一个特殊的IP地址,这个IP中子网内主机标志部分的二进制全部为1 (即点分十进制IP的最后一部分是255)。点分十进制的IP地址每一部分是1字节,最大值为255...

UDP特性之组播(多播)

UDP特性之组播(多播)

厉飞雨 阅读(142) 评论(0) 赞(18)

<ol> <li>组播的特点 {#1-组播的特点} ===================</li> </ol> <p>组播也可以称之为多播这也是UDP的特性之一。<code>组播是主机间一对多的通讯模式,是一种允许一个或多个组播源发送同一报文到多个接收者的技术。</code>组播源将一份报文发...

手写线程池 - C语言版

手写线程池 - C语言版

厉飞雨 阅读(163) 评论(0) 赞(12)

本文中关于线程池实现和编写步骤相关细节,请观看视频 [手把手教你撸一个线程池 - C语言版](https://www.bilibili.com/video/BV1jV411J795 "手把手教你撸一个线程池 - C语言版"),这里把相关的代码贴出来,以供参考。 1. 线程池原理 {#1-线程池原理} =================== 我们使用线程的...

文件I/O

文件I/O

厉飞雨 阅读(173) 评论(0) 赞(15)

<ol> <li>文件概述 {#1-文件概述} =================</li> </ol> <h2>1.1 什么是文件I/O {#1-1-什么是文件I-O}</h2> <p>文件 I/O(Input/Output)指的是程序与外部文件之间的数据传输操作。在许多编程语言中,包括C、C...

联合体和枚举

联合体和枚举

厉飞雨 阅读(107) 评论(0) 赞(16)

<ol> <li>联合体 {#1-联合体} ===============</li> </ol> <p>在 C 语言中,联合体又叫共用体(Union)是一种特殊的数据类型,定义联合体的语法如下:</p> <p>|---------------------|--------------------...