《Unix网络编程卷1:套接字联网API》读书笔记
第一部分:简介和TCP/IP
第1章:简介
第2章:传输层:TCP、UDP和SCTP
TCP:传输控制协议,复杂、可靠、面向连接协议

UDP:用户数据报协议,简单、不可靠、无连接协议
SCTP:流控制传输协议,组合两个特性并提供tcp不备的特性

第二部分:基本套接字编程
第3章:套接字编程简介
第4章:基本TCP套接字编程
客户、服务调用:socket、connect、bind、listen、accept、close
大多数TCP服务器是并发的
大多数UDP服务器是迭代的
第5章:TCP客户/服务器程序示例
第6章:I/O复用:select和poll函数
I/O模型:阻塞式I/O模型、非阻塞式I/O模型、I/O复用模型、信号驱动式I/O模型、异步I/O模型
最常用也是默认的I/O模型是阻塞式I/O模型
第7章:套接字选项
第8章:基本UDP套接字编程

第9章:基本SCTP套接字编程
SCTP是多宿的


第10章:SCTP客户/服务器程序例子
第11章:名字与地址转换
域名系统(DNS):用于主机名字与IP地址间的转换
解析器:把主机名转成IP地址或做相反操转换的一组函数
第三部分:高级套接字编程
第12章:IPv4与IPv6的互操作性
第13章:守护进程和inetd超级服务器
守护进程:在后台运行且不与任何终端关联的进程
许多Unix服务器由inetd守护进程启动
第14章:高级I/O函数
第15章:Unix域协议
Unix域套接字是客户和服务器在同一机器上的IPC方法之一
与其他IPC相比,其API几乎等同于网络客户/服务器使用的API
同一机器上,与其他IPC相比,其性能增长表更优
第16章:非阻塞式I/O
可能阻塞的套接字调用:输入操作、输出操作、接受外来连接、发起外出链接
第17章:ioctl操作
ioctl命令分类:套接字操作、文件操作、接口操作、ARP表操作、路由表操作、流系统
第18章:路由套接字
第19章:秘钥管理套接字
密钥管理套接字用于在内核、密钥管理守护进程以及诸如路由守护进程等安全服务消费进程之间交换SA
第20章:广播
使用广播例子:ARP、DHCP、NTP、路由守护进程
第21章:多播
第22章:高级UDP套接字编程
广播和多播应用必须使用udp
第23章:高级SCTP套接字编程
心搏(TCP的保持存活)在SCTP关联上默认就在交换
第24章:外带数据
tcp无外带数据,但提供紧急模式和紧急指针
telnet、rlogin和ftp使用外带数据
第25章:信号驱动式I/O
指进程预先告知内核,使得但某个描述符上发生某事时,内核使用信号通知相关进程
第26章:线程
创建一个新线程通常比fork派生一个新进程快得多
同一进程内的所有线程共享全局变量和描述符
第27章:IP选项
第28章:原始套接字
提供普通tcp、udp不具备的能力:
进程可以读写ICMPv4、IGMPv4、ICMPv6等分组
进程可以读写内核不处理其协议字段的IPv4数据报
进程可以使用IP_HDRINCL套接字选项自行构造IPv4首部
第29章:数据链路访问
能监视由数据链路层接收的分组
能作为普遍应用进程而不是内核的一部分运行某些程序
第30章:客户/服务器程序设计范式
第31章:流
X/Open传输接口(XTI)一般使用流来实现
TPI是从上层进入传输层的SVR4流接口
《Unix网络编程卷1:套接字联网API》读书笔记的更多相关文章
- csapp读书笔记-并发编程
这是基础,理解不能有偏差 如果线程/进程的逻辑控制流在时间上重叠,那么就是并发的.我们可以将并发看成是一种os内核用来运行多个应用程序的实例,但是并发不仅在内核,在应用程序中的角色也很重要. 在应用级 ...
- CSAPP 读书笔记 - 2.31练习题
根据等式(2-14) 假如w = 4 数值范围在-8 ~ 7之间 2^w = 16 x = 5, y = 4的情况下面 x + y = 9 >=2 ^(w-1) 属于第一种情况 sum = x ...
- CSAPP读书笔记--第八章 异常控制流
第八章 异常控制流 2017-11-14 概述 控制转移序列叫做控制流.目前为止,我们学过两种改变控制流的方式: 1)跳转和分支: 2)调用和返回. 但是上面的方法只能控制程序本身,发生以下系统状态的 ...
- CSAPP 并发编程读书笔记
CSAPP 并发编程笔记 并发和并行 并发:Concurrency,只要时间上重叠就算并发,可以是单处理器交替处理 并行:Parallel,属于并发的一种特殊情况(真子集),多核/多 CPU 同时处理 ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
- 《C#本质论》读书笔记(18)多线程处理
.NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...
- C#温故知新:《C#图解教程》读书笔记系列
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...
- C#刨根究底:《你必须知道的.NET》读书笔记系列
一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...
- Web高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
随机推荐
- 优步UBER司机奖励政策:含高峰、翻倍、行程、金牌司机、保底奖励(持续更新...)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://didi-uber.com/archiv ...
- 【MongoDB】NoSQL Manager for MongoDB 教程(基础篇)
前段时间,学习了一下mongodb,在客户端工具方面,个人认为 NoSQL Manager for MongoDB 是体验比较好的一个,功能也较齐全.可惜在找教程的时候,发现很难找到比较详细的教程,也 ...
- CF 959 E. Mahmoud and Ehab and the xor-MST
E. Mahmoud and Ehab and the xor-MST https://codeforces.com/contest/959/problem/E 分析: 每个点x应该和x ^ lowb ...
- Python和Pycharm的安装
目录 安装Python 安装Pycharm IDE 破解Pycharm 用Pycharm创建Python工程 安装Python 去Python官网下载Python软件,网址:https://www.p ...
- asp.net 问题:Web 服务器上的请求筛选模块被配置为 拒绝包含的查询字符串过长的请求
发现问题: post请求,在发送一个图片base64编码的字符串时,服务端报这个错误. 报错信息中给出了解决办法: 最可能的原因: Web 服务器上的请求筛选被配置为拒绝该请求,因为查询字符串过长. ...
- phpcms v9手机站不支持组图($pictureurls)的修改
phpcms v9自带的手机门户网站,有时候我们需要用到组图功能$pictureurls,我在做的时候发现,如果$pictureurls中只有一张图片会正常显示,但是如果有两张或两张以上的图片的时候, ...
- python购物车优化
一.需求分析 拥有用户接口和商家接口 用户能够进行消费记录查询,充值,购物等功能,消费记录存储于数据库 商家可以进行商品的增删改等操作 二.程序流程图 程序大致流程图如下: 三.代码实现 本程序分成两 ...
- Open vSwitch for CentOS
原文发表于cu:2016-06-02 本文属于重发,ovs当前的安装方式可能略有不同. 参考文档: 官方文档: http://openvswitch.org/support/dist-docs-2.5 ...
- js-jQuery对象与dom对象相互转换(转载)
核心提示:jquery选择器得到的jquery对象和标准的 javascript中的document.getElementById()取得的dom对象是两种不同的对象类型,一般情况下,如S(’#id’ ...
- 从零开始的Python学习Episode 11——装饰器
装饰器 装饰器是用来处理其他函数的函数,主要作用是在不修改原有函数的情况下添加新的功能,装饰器的返回值也是一个函数对象. 简单的装饰器 import time def show_time(f): de ...