《UNIX网络编程 卷1:套接字联网API(第3版)》——导读

简介: 本书想达到的目标是向大家提供网络编程指导。这些内容不仅适用于专业人士,也适用于初学者;不仅适用于维护已有代码,也适用于开发新的网络应用程序;此外,还适用于那些只是想了解一下自己系统中网络组件的工作原理的人。


screenshot


**
前言
**
本书面向的读者是那些希望自己编写的程序能使用称为套接字(socket)的API进行彼此通信的人。有些读者可能已经非常熟悉套接字了,因为这个模型几乎已经成了网络编程的同义词,但有些读者可能仍需要从头开始学习。本书想达到的目标是向大家提供网络编程指导。这些内容不仅适用于专业人士,也适用于初学者;不仅适用于维护已有代码,也适用于开发新的网络应用程序;此外,还适用于那些只是想了解一下自己系统中网络组件的工作原理的人。

书中的所有示例都是在Unix系统上测试通过的真实的、可运行的代码。但是,考虑到许多非Unix的操作系统也支持套接字API,因而我们选取的示例与所讲述的一般性概念,在很大程度上是与操作系统无关的。几乎每种操作系统都提供了大量的网络应用程序,如网页浏览器、电子邮件客户端、文件共享服务器等。我们按常规的划分方法把这些应用程序分为客户程序和服务器程序,并在书中多次编写了相应的小型示例。

目录

**[第一部分 简介和TCP/IP
第1章 简介
1.1 概述](https://yq.aliyun.com/articles/100451)**
1.2 一个简单的时间获取客户程序
1.3 协议无关性
1.4 错误处理:包裹函数
1.5 一个简单的时间获取服务器程序
1.6 本书中客户/服务器程序示例索引表
1.7 OSI模型
1.8 BSD网络支持历史
1.9 测试用网络及主机
1.10 Unix标准
1.10.1 OSIX的背景
1.10.2 开放团体的背景
1.10.3 标准的统一
1.10.4 因特网工程任务攻坚组
1.11 64位体系结构
1.12 小结
**[第2章 传输层:TCP、UDP和SCTP
2.1 概述](https://yq.aliyun.com/articles/100557)**
2.2 总图
2.3 用户数据报协议(UDP)
2.4 传输控制协议(TCP)
2.5 流控制传输协议(SCTP)
2.6 TCP连接的建立和终止
2.6.1 三路握手
2.6.2 TCP选项
2.6.3 TCP连接终止
2.6.4 TCP状态转换图
2.6.5 观察分组
2.7 TIME_WAIT状态
2.8 SCTP关联的建立和终止
2.8.1 四路握手
2.8.2 关联终止
2.8.3 SCTP状态转换图
2.8.4 观察分组
2.8.5 SCTP选项
2.9 端口号
2.10 TCP端口号与并发服务器
2.11 缓冲区大小及限制
2.11.1 TCP输出
2.11.2 UDP输出
2.11.3 SCTP输出
2.12 标准因特网服务
2.13 常见因特网应用的协议使用
2.14 小结
**[第8章 基本UDP套接字编程
8.1 概述](https://yq.aliyun.com/articles/100641)**
8.2 recvfrom和sendto函数
8.3 UDP回射服务器程序:main函数
8.4 UDP回射服务器程序:dg_echo函数
8.5 UDP回射客户程序:main函数
8.6 UDP回射客户程序:dg_cli函数
8.7 数据报的丢失
8.8 验证接收到的响应
8.9 服务器进程未运行
8.10 UDP程序例子小结
8.11 UDP的connect函数
8.11.1 给一个UDP套接字多次调用connect
8.11.2 性能
8.12 dg_cli函数(修订版)
8.13 UDP缺乏流量控制
8.14 UDP中的外出接口的确定
8.15 使用select函数的TCP和UDP回射服务器程序
8.16 小结

相关文章
|
4月前
|
网络协议 安全 网络安全
Python网络编程详解:Socket套接字的使用与开发
探索Python网络编程:本文详述Socket套接字,关键组件用于设备间通信。理解Socket类型(TCP/UDP),学习创建、绑定、监听、发送/接收数据步骤。示例展示服务端和客户端实现,及Socket聊天室应用。了解并发处理、错误处理和网络安全。通过学习,提升网络应用开发技能。参考书籍深入学习。
150 2
|
5天前
|
网络协议 算法 网络性能优化
C语言 网络编程(十五)套接字选项设置
`setsockopt()`函数用于设置套接字选项,如重复使用地址(`SO_REUSEADDR`)、端口(`SO_REUSEPORT`)及超时时间(`SO_RCVTIMEO`)。其参数包括套接字描述符、协议级别、选项名称、选项值及其长度。成功返回0,失败返回-1并设置`errno`。示例展示了如何创建TCP服务器并设置相关选项。配套的`getsockopt()`函数用于获取这些选项的值。
|
21天前
|
网络协议 Java
一文讲明TCP网络编程、Socket套接字的讲解使用、网络编程案例
这篇文章全面讲解了基于Socket的TCP网络编程,包括Socket基本概念、TCP编程步骤、客户端和服务端的通信过程,并通过具体代码示例展示了客户端与服务端之间的数据通信。同时,还提供了多个案例分析,如客户端发送信息给服务端、客户端发送文件给服务端以及服务端保存文件并返回确认信息给客户端的场景。
一文讲明TCP网络编程、Socket套接字的讲解使用、网络编程案例
|
25天前
|
开发框架 Unix Linux
LangChain 构建问题之在Unix/Linux系统上设置OpenAI API密钥如何解决
LangChain 构建问题之在Unix/Linux系统上设置OpenAI API密钥如何解决
31 0
|
4月前
|
网络协议 算法 网络性能优化
网络编程:TCP/IP与套接字
网络编程:TCP/IP与套接字
|
4月前
|
网络协议 网络架构 Python
Python 网络编程基础:套接字(Sockets)入门与实践
【5月更文挑战第18天】Python网络编程中的套接字是程序间通信的基础,分为TCP和UDP。TCP套接字涉及创建服务器套接字、绑定地址和端口、监听、接受连接及数据交换。UDP套接字则无连接状态。示例展示了TCP服务器和客户端如何使用套接字通信。注意选择唯一地址和端口,处理异常以确保健壮性。学习套接字可为构建网络应用打下基础。
55 7
|
3月前
|
网络协议 Java API
网络编程套接字(4)——Java套接字(TCP协议)
网络编程套接字(4)——Java套接字(TCP协议)
31 0
|
3月前
|
Java 程序员 Linux
网络编程套接字(3)——Java数据报套接字(UDP协议)
网络编程套接字(3)——Java数据报套接字(UDP协议)
29 0
|
3月前
|
网络协议 API
网络编程套接字(2)——Socket套接字
网络编程套接字(2)——Socket套接字
20 0
|
3月前
网络编程套接字(1)—网络编程基础
网络编程套接字(1)—网络编程基础
23 0

相关课程

更多