前言 BIO 、NIO 、AIO 总结 Unix网络编程中的五种IO模型 为了加深对 I/O多路复用机制 的理解,以及了解到多路复用也有局限性,本着打破砂锅问到底的精神,前面我们讲了BIO、NIO、AIO的基本概念以及一些常见问题,同时也回顾了Unix网络编程中的五种IO模型。本篇重点学习理解IO多 ...
分类:
其他好文 时间:
2021-06-06 19:45:37
阅读次数:
0
在日常 Coding 中,多多少少都会接触到网络 IO,就会想要深入了解一下。看了很多文章,总是云里雾里的感觉,直到读了《UNIX网络编程 卷1:套接字联网API》中的介绍后,才豁然开朗。这里就给大家分享一下,如有不对,欢迎指出。 1. 概念说明 为了便于理解后面的内容,我们先来了解一些概念。 1. ...
分类:
系统相关 时间:
2021-05-03 11:49:34
阅读次数:
0
I/O模型 Unix下可用的I/O模型有五种: 阻塞式I/O 非阻塞式I/O I/O复用(select和poll、epoll) 信号驱动式I/O(SIGIO) 异步I/O(POSIX的aio_系列函数) 详见Unix网络编程卷一第六章 select()和poll()在Unix系统中存在时间长,主要优 ...
分类:
其他好文 时间:
2021-01-28 12:12:58
阅读次数:
0
Unix网络编程中的五种IO模型 blocking IO - 阻塞IO nonblocking IO - 非阻塞IO IO multiplexing - IO多路复用 asynchronous IO - 异步IO signal driven IO - 信号驱动IO 网络io基本流程 先说明一下IO发 ...
分类:
其他好文 时间:
2020-07-26 01:43:10
阅读次数:
71
一、了解Unix网络编程5种I/O模型 1.1、阻塞式I/O模型 阻塞I/O(blocking I/O)模型,进程调用recvfrom,其系统调用直到数据报到达且被拷贝到应用进程的缓冲区中或者发生错误才返回。进程从调用recvfrom开始到它返回的整段时间内是被阻塞的。 1.2、非阻塞式I/O模型 ...
分类:
编程语言 时间:
2020-05-02 22:53:19
阅读次数:
81
在阅读unpv1时运行源代码的环境配置,这里简单记录一下 源代码里的README 写得挺详细的,但是在Linux 系统的下还是没办法直接编译通过的, 这里我使用的是ubuntu 19.10(在腾讯云ubuntu server 18.04.1也测试通过) 以下是简单的步骤: 1.下载源码并解压 2.解 ...
分类:
其他好文 时间:
2020-04-04 20:52:31
阅读次数:
94
Unix 网络编程 传输层部分知识点 TIME_WAIT状态 MSL: maximum segment lifetime 任何TCP的实现都需要为MSL选择一个合适的值, RFC的建议值是2分钟。分组可能出现迷途,若迷途分组在MSL中找到路, 造成重复,TCP必须修复 存在的理由: 1. 可靠的实现 ...
分类:
其他好文 时间:
2020-02-18 14:55:18
阅读次数:
57
一、了解Unix网络编程5种I/O模型 1.1、阻塞式I/O模型 阻塞I/O(blocking I/O)模型,进程调用recvfrom,其系统调用直到数据报到达且被拷贝到应用进程的缓冲区中或者发生错误才返回。进程从调用recvfrom开始到它返回的整段时间内是被阻塞的。 1.2、非阻塞式I/O模型 ...
分类:
编程语言 时间:
2019-11-16 16:06:10
阅读次数:
451
之前读过unix网络编程,现在在看nginx源码,很多套接字选项不记得了,因此每遇到一个套接字选项就在此文章中进行补充。 1.获取和设置套接字选项的方法: getsockopt,setsockopt函数 fcntl函数 ioctl函数 2.4种函数简介: I.getsockopt,setsockop ...
分类:
其他好文 时间:
2019-11-04 21:35:00
阅读次数:
134
来源 UNIX 网络编程(第二版) 管道 是一种广泛的IPC形式,即可在程序中使用,也可在shell中使用。管道的问题在于它们只能在具有共同祖先的进程中使用,不过该问题已随有名管道即FIFO的引入而解决了。 消息队列 同步机制 需要某种同步形式,往往是为了防止多进程同时修改同一文件 记录上锁 信号量 ...
分类:
其他好文 时间:
2019-10-21 13:34:03
阅读次数:
82