
Linux网络编程
文章平均质量分 77
ZHAOCHENHAO-
Just for fun!
展开
-
数据的IO和复用
poll()函数的机制与select()类似,管理多个描述符也是进行轮询,根据描述符的状态进行处理,但是poll()没有最大文件描述符数量的限制(但是数量过大后性能也是会下降)。对于send()函数和write()函数之间的差别是表示发送方式的flag,当flag为0时,send()函数和write()函数完全一致。Linux操作系统中的IO函数主要有read()、write()、recv()、send()、recvmsg()、sendmsg()、readv()、writev()。原创 2023-06-09 13:32:40 · 1366 阅读 · 0 评论 -
本地进程间通信
在使用socket()函数创建套接字时,当需要在本地进程间进行通信而不涉及网络传输时,可以使用AF_UNIX或AF_LOCAL作为domain参数的取值。使用Unix域套接字时,可以通过指定文件系统中的一个路径作为套接字的地址,不同进程可以通过该路径来进行通信。常见的应用场景包括在同一台计算机上的进程间通信、服务器进程与其它进程间的通信等。总结来说,当需要在本地进程间进行通信,不涉及网络传输时,可以使用AF_UNIX或AF_LOCAL作为domain参数的取值,并使用Unix域套接字来实现进程间通信。原创 2023-05-18 15:01:58 · 1018 阅读 · 0 评论 -
基于UDP协议的接受和发送
UDP协议(User Daagram Protocol)是无连接的,不可靠的网络协议。本章将介绍如何使用UDP协议进行程序设计,对UDP编程的基本框架进行介绍并给出程序设计的例子。原创 2023-04-14 09:24:04 · 236 阅读 · 0 评论 -
TCP网络编程基础
TCP协议(Transmission Control Protocol)是TCP/IP协议中很重要的一个协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议。它是一种端到端的协议,即它只在通信的两个端点之间起作用,并且不保证数据包的交付。TCP协议是一种可靠的协议,它通过确认和重传机制来保证数据传输的可靠性。原创 2023-04-11 09:48:46 · 380 阅读 · 0 评论 -
主机字节序和网络字节序
网络字节序采用大端字节序,即高位字节存放在内存的低地址端,低位字节存放在内存的高地址端。但由于网络的特点是将Internet上不同的网络设备和主机进行连接和通信,这决定了使用网络进行开发的程序要兼容于各式各样的设备,同一个数据在不同的设备上要有唯一的含义。例如,对于十六进制数0x12345678,大端字节序将其存储为0x12 0x34 0x56 0x78,而小端字节序将其存储为0x78 0x56 0x34 0x124。字节序是计算机存储多字节数据的方式,目前主流的方式有两种:大端字节序和小端字节序。原创 2023-04-10 20:04:40 · 550 阅读 · 0 评论 -
CMake项目实战指令详细分析
CMake是一个跨平台的自动化构建系统,可以用简单的语句来描述所有平台的编译过程。CMake可以输出各种各样的编译文件,如Makefile、VisualStudio等。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序或共享库(so (shared object))。原创 2023-03-29 12:35:28 · 545 阅读 · 0 评论 -
Linux网络编程第2章Linux编程环境
文章目录2.1 Linux环境下的编辑器2.1.1 Vim使用简介2.1.2 使用Vim建立文件2.1.3 使用Vim编辑文本2.1.4 Vim的格式设置2.1.5 Vim配置文件.vimrc2.1.6 使用其他编辑器2.2 Linux下的GCC编译器工具集2.2.1 GCC简介2.2.2 编译程序的基本知识2.2.3 单个文件编译成执行文件2.2.4 编译生成目标文件2.2.5 多文件编译2.2.6 预处理2.2.7 编译成汇编语言2.2.8 生成和使用静态链接库2.2.9 生成动态链接库2.2.10 动原创 2022-05-16 20:46:36 · 743 阅读 · 0 评论 -
Linux网络编程第1章Linux操作系统概述
文章目录1.1 linux的系统架构1.1.1 Linux内核的主要模块1.进程调度SCHED2.内存管理MMU3.虚拟文件系统VFS4.网络接口5.进程间通信1.1.2 Linux的文件结构1.1 linux的系统架构Linux系统从应用角度来看,分为内核空间和用户空间两个部分。内核空间是Linux操作系统的主要部分,但是仅有内核的操作系统是不能完成用户任务的。丰富并且功能强大的应用程序包是一个操作系统成功的必要条件。1.1.1 Linux内核的主要模块Linux的内核主要由5个子系统组成:进程调原创 2022-05-02 16:01:02 · 379 阅读 · 0 评论