随笔分类 - 书籍笔记
摘要:前言 主要记录TCPIP一些小笔记 说明: demo 基于 Linux。 TCP/IP 网络编程笔记散集 快速入门: I/O 缓冲: I/O 缓冲在每个 TCP 套接字中单独存在。 I/O 缓冲在创建套接字时自动生成。 即使关闭套接字也会继续传递输出缓冲中遗留的数据。 关闭套接字将丢失输入缓冲中的数
阅读全文
摘要:前言 说明: demo 基于 Linux。 8. 套接字的多种选项 一般创建好套接字后直接使用即可,有些配置是默认的,当然也可以通过以下修改。 8.1 API getsockopt(); & setsockopt(); /* sock: 用于查看选项套接字文件描述符 level: 要查看的可选项协议
阅读全文
摘要:前言 说明: demo 基于 Linux。 7. 域名与网络地址 本节主要记录三个名词:DNS、域名及IP。 7.1 IP IP地址:网络层的主机地址。老生常谈啦。 目前分为IPV4和IPV6。 如百度的地址之一:202.108.22.5 7.2 域名 域名就是IP的别名吧,因为人类对数字的记忆较难
阅读全文
摘要:前言 说明: demo 基于 Linux。 6. TCP 的半关闭 关闭套接字API有: close():单方面全断开。 shutdown():可选断开某个流。 6.1 何为半关闭 如图分为输入流和输出流两个流,关闭其一就是半关闭。 6.2 半关闭解决的用途 单方面断开可能带来的问题如图: 主机A发
阅读全文
摘要:前言 说明: demo 基于 Linux。 5. UDP 网络编程 UDP 是无连接的,不需要建立连接。 5.1 UDP 的工作原理 参考图: 主机B的数据包中包含目的主机的IP+端口号。 其中IP是把数据的目的主机地址,端口号是目的主机对用的程序。 路由器小知识: IP:主机地址。如目的IP,每个
阅读全文
摘要:前言 说明: demo 基于 Linux。 4. I/O 缓冲 在 李柱明博客-TCP/IP TCP详细笔记 理论基础上补充一些关于网络编程的细节。 4.1 TCP 套接字中的 I/O 缓冲 TCP 套接字的数据收发无边界。 服务器即使调用 1 次 write 函数传输 A 个字节的数据,客户端也有
阅读全文
摘要:前言 说明: demo 基于 Linux。 3. 地址族与数据序列 // 调用 bind 函数分配IP地址和端口号。 // 成功时返回0,失败时返回-1 #include <sys/socket.h> int bind(int sockfd, struct sockaddr *myaddr, soc
阅读全文
摘要:前言 说明: demo 基于 Linux。 建议直接参考实例。 2. 套接字类型与协议设置 原文:李柱明博客:https://www.cnblogs.com/lizhuming/p/15149522.html 2.1 套接字协议及数据传输特性 2.1.1 创建套接字API API: /* 成功时返回
阅读全文
摘要:前言 说明: demo 基于 Linux。 1. 快速入门 以下步骤简略了很多细节,但是通过下面的几个函数就能构建出简单的TCP/IP网络编程demo了。 原文:李柱明博客 1.1 服务端编程简要步骤 网络编程中和接受连接请求的套接字创建过程可整理如下: 第一步:调用 socket 函数创建套接字。
阅读全文
摘要:前言 以野火i.M 6U为例 2. 内核模块 本章节笔记主要理解内核模块代码框架和原理,分析一个简单的内核模块例子。 需要明确的是模块和驱动是两回事。 2.1 内核模块概念 2.1.1 内核 内核,是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能, 是操作系统工作的基础,
阅读全文
摘要:前言 本笔记主要记录Makefile一些概念要点。 概念 Chapter 5:变量的基础 变量可以使用在 目标 、 依赖目标 、 命令 或是 Makefile的其它部分中。 变量的名字可以包含 字符、数字和下划线(可以以数字开头)。 但是不应该包含有 : # = 空格 回车 等特殊字符。 变量名具有
阅读全文
摘要:前言 本笔记主要记录Makefile一些概念要点。 概念 Chapter 4:书写命令 每条规则中的命令和操作系统 Shell 的命令行是一致的。 每条命令必须以 Tab 键开头,除非,命令是紧跟在依赖规则后面的分号后的。 make 一般是使用环境变量 SHELL 中所定义的系统 Shell 来执行
阅读全文
摘要:前言 本笔记主要记录Makefile一些概念要点。 本笔记为提取性笔记,章节与《跟我一起写Makefile》同步,所以会看到有些小标题会跳过。 概念 Chapter 3:书写规则 3.3 在规则中使用通配符 make 支持三个通配符: * 任意长度的任意字符 ? 长度为一的任意字符 ~ (以例子说明
阅读全文
摘要:前言 本笔记主要记录Makefile一些概念要点。 本笔记为提取性笔记,章节与《跟我一起写Makefile》同步,所以会看到有些小标题会跳过。 概念 Chapter 2:介绍 2.1 makefile的规则 target ... : prerequisites ... command ... ...
阅读全文