第一部分:简介和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》读书笔记的更多相关文章

  1. csapp读书笔记-并发编程

    这是基础,理解不能有偏差 如果线程/进程的逻辑控制流在时间上重叠,那么就是并发的.我们可以将并发看成是一种os内核用来运行多个应用程序的实例,但是并发不仅在内核,在应用程序中的角色也很重要. 在应用级 ...

  2. CSAPP 读书笔记 - 2.31练习题

    根据等式(2-14) 假如w = 4 数值范围在-8 ~ 7之间 2^w = 16 x = 5, y = 4的情况下面 x + y = 9 >=2 ^(w-1)  属于第一种情况 sum = x ...

  3. CSAPP读书笔记--第八章 异常控制流

    第八章 异常控制流 2017-11-14 概述 控制转移序列叫做控制流.目前为止,我们学过两种改变控制流的方式: 1)跳转和分支: 2)调用和返回. 但是上面的方法只能控制程序本身,发生以下系统状态的 ...

  4. CSAPP 并发编程读书笔记

    CSAPP 并发编程笔记 并发和并行 并发:Concurrency,只要时间上重叠就算并发,可以是单处理器交替处理 并行:Parallel,属于并发的一种特殊情况(真子集),多核/多 CPU 同时处理 ...

  5. 读书笔记汇总 - SQL必知必会(第4版)

    本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...

  6. 读书笔记--SQL必知必会18--视图

    读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...

  7. 《C#本质论》读书笔记(18)多线程处理

    .NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...

  8. C#温故知新:《C#图解教程》读书笔记系列

    一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...

  9. C#刨根究底:《你必须知道的.NET》读书笔记系列

    一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...

  10. Web高级征程:《大型网站技术架构》读书笔记系列

    一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...

随机推荐

  1. [WC2010][BZOJ1758]重建计划-[二分+分数规划+点分治]

    Description 传送门 Solution 看到那个式子,显然想到分数规划...(不然好难呢) 然后二分答案,则每条边的权值设为g(e)-ans.最后要让路径长度在[L,U]范围内的路径权值&g ...

  2. OpenCV中对Mat里面depth,dims,channels,step,data,elemSize和数据地址计算的理解

    原文:OpenCV中对Mat里面depth,dims,channels,step,data,elemSize和数据地址计算的理解 Title : cv::Mat depth/dims/channels ...

  3. 【BZOJ3144】[HNOI2013]切糕

    [BZOJ3144][HNOI2013]切糕 题面 题目描述 经过千辛万苦小 A 得到了一块切糕,切糕的形状是长方体,小 A 打算拦腰将切糕切成两半分给小 B.出于美观考虑,小 A 希望切面能尽量光滑 ...

  4. pycharm设置github

    1.打开file,选择settings,找到Version Contorl,打开找到GitHub ,HOST填github.com,用户名,密码,test,稍等一会,会提示成功 2. 设置好以后 打开 ...

  5. python的种类

    Cpython     Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上. Jyhton   ...

  6. Swing 解决 idea 找不到创建gui form的问题

    果然,寄希望于百度google不如自己动手,还是得吃透文档, 然后就是对于别人的博客要严格对照步骤来,否则都容易达不到效果 这边gui form在idea下找不到创建,百度google一个说的也没有, ...

  7. javaweb(三十四)——使用JDBC处理MySQL大数据

    一.基本概念 大数据也称之为LOB(Large Objects),LOB又分为:clob和blob,clob用于存储大文本,blob用于存储二进制数据,例如图像.声音.二进制文等. 在实际开发中,有时 ...

  8. javaweb(二十六)——jsp简单标签标签库开发(二)

    一.JspFragment类介绍 javax.servlet.jsp.tagext.JspFragment类是在JSP2.0中定义的,它的实例对象代表JSP页面中的一段符合JSP语法规范的JSP片段, ...

  9. zookeeper 简单小节

    1. ZooKeeper 是什么 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务.主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储 ...

  10. python-编程从入门到实践

    python-编程从入门到实践 1.python文件后缀名: .py 是Python的源码文件,由Python.exe解释. .pyc 是Python的编译文件.pyc 文件往往代替 py 文件发布: ...