avatar

AMoon丶的博客

天行健,君子以自强不息。

  • 首页
  • 分类
  • 标签
  • 归档
主页
AMoon丶的博客
Linux网络编程(6)--IO多路转接

Linux网络编程(6)--IO多路转接

IO时间 IO时间=等待资源就绪时间+数据拷贝时间 数据拷贝的速度主要由硬件决定,故所谓的使IO更高效的本质上就是减少等待时间的比重。 五种IO模型 阻塞式IO 数据没有就绪,进程/线程就一直将自己挂起,直到数据就绪事件发生(read阻塞) 非阻塞式IO <

6天前 Linux网络编程
Linux网络编程(5)--IP、MAC

Linux网络编程(5)--IP、MAC

IP TCP与IP IP层的核心工作在于定位主机,并具有将数据报从主机A跨网络传输给主机B的能力。但是其并不能保证传输一定是成功的。而上层的TCP便提供了种种可靠性策略,来保证下层的IP一定能传输成功。 IP地址报头 解包 IP报头前20个字节固定,从中得知首部长度(单位4字节)故IP报头的长度范围

6天前 Linux网络编程
Linux网络编程(4)--TCP

Linux网络编程(4)--TCP

TCP报头格式 解包: tcp有标准长度:20字节,先读取20字节。 转换为结构化数据,得到4位的首部长度。包含选项的tcp报头总长度=4位首部长度的值*4字节。故tcp首部长度范围为[20,60]。 后续报头(选项)的大小=总长度-20。 报头读取完毕,剩下的就是有效载荷。 <

6天前 Linux网络编程
Linux网络编程(3)--UDP

Linux网络编程(3)--UDP

端口号划分 0-1023知名端口号,如 ssh:22 ftp:21 telnet:23 http:80 https:443 1024-65535:OS动态分配的端口号 UDP报文格式

6天前 Linux网络编程
Linux网络编程(2)--http、https

Linux网络编程(2)--http、https

序列化和反序列化 结构数据(如一个结构体对象): struct message{ int url; int id; ... } 在发送到网络中时,要先变成一个报文(可以理解为一整个字符串),这个过程称为序列化,之后再发送。 接收方收到的一定是序列字节流(可以理解为一整个字符串),则要先按

6天前 Linux网络编程
Linux网络编程(1)--网络socket套接字

Linux网络编程(1)--网络socket套接字

介绍 两台主机之间的通信,本质是两台主机上的进程要进行通信。要进行进程间通信就先要进程看到同一份资源,即网络。故,通信就是进行IO,所有的上网行为,无非是要发送自己的数据(write)或者收到别人的数据(read)。 在网络层,可使用公网IP地址在公网中标识一台唯一的主机。在传输层便采用端口号por

6天前 Linux网络编程
Linux系统编程(3)--程序地址空间

Linux系统编程(3)--程序地址空间

介绍 以下代码为例: #include <stdio.h> #include <unistd.h> int g_val = 100; int main() { __pid_t pid = fork(); if (pid == 0) { // son

9天前 Linux系统编程
Linux系统编程(6)--多线程

Linux系统编程(6)--多线程

线程概念 线程是进程内的一个执行流。线程在进程的地址空间内运行,其拥有该进程的一部分资源。 OS为线程设计专门的数据结构描述线程对象,TCB。(windows采用该方案) 线程和进程都需要被执行和调度,仅从调度上来说,线程和进程高度重叠。故Linux中并没有为线程设计专门的数据结构,而是复用了进程的

9天前 Linux系统编程
Linux系统编程(4)--文件,基础IO

Linux系统编程(4)--文件,基础IO

如何理解文件 文件包含其文件内容+文件属性,对于文件内容或者属性的操作都是文件操作。 文件操作,需要通过进程来进行;一个文件要被进程访问,则必须先被该进程打开,未打开的文件称为静态文件。 故:文件操作,本质是进程对其打开的文件的操作。 文件操作 相关系统调用 int open(const char*

9天前 Linux系统编程
Linux系统编程(5)--信号

Linux系统编程(5)--信号

介绍 可使用kill -l命令查看信号列表。其中1-31号为普通信号、34-64为实时信号。 任何信号发送的方式,都是通过OS以进程为单位,向进程发送。 进程本身必对信号具有保存能力。信号保存在进程PCB中,使用一个int的32个比特位表示是否收到1-31中的某信号,1有,0没有。 故,OS发送信号

9天前 Linux系统编程
  • 1
  • 2

最近更新

  • Linux网络编程(6)--IO多路转接
  • Linux网络编程(5)--IP、MAC
  • Linux网络编程(4)--TCP
  • Linux网络编程(3)--UDP
  • Linux网络编程(2)--http、https

热门标签

Net OS Linux

©2025 AMoon丶的博客. 保留部分权利。

使用 Halo 主题 Chirpy