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

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


screenshot



前言

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

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

目录

[第一部分 简介和TCP/IP
第1章 简介
1.1 概述]
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 概述]
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 概述]
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 小结*

相关文章
|
网络协议 API 数据处理
【网络编程】第2章(2) 应用程序接口(API)
【网络编程】第2章(2) 应用程序接口(API)
|
Unix 程序员 Linux
【OSTEP】动态内存开辟 | 内存API常见错误 | UNIX: brk/sbrk 系统调用 | mmap创建匿名映射区域 | mmap创建以文件为基础的映射区域
【OSTEP】动态内存开辟 | 内存API常见错误 | UNIX: brk/sbrk 系统调用 | mmap创建匿名映射区域 | mmap创建以文件为基础的映射区域
283 0
|
4月前
|
人工智能 搜索推荐 API
用于企业AI搜索的Bocha Web Search API,给LLM提供联网搜索能力和长文本上下文
博查Web Search API是由博查提供的企业级互联网网页搜索API接口,允许开发者通过编程访问博查搜索引擎的搜索结果和相关信息,实现在应用程序或网站中集成搜索功能。该API支持近亿级网页内容搜索,适用于各类AI应用、RAG应用和AI Agent智能体的开发,解决数据安全、价格高昂和内容合规等问题。通过注册博查开发者账户、获取API KEY并调用API,开发者可以轻松集成搜索功能。
|
6月前
|
开发框架 Unix Linux
LangChain 构建问题之在Unix/Linux系统上设置OpenAI API密钥如何解决
LangChain 构建问题之在Unix/Linux系统上设置OpenAI API密钥如何解决
87 0
|
9月前
|
网络协议 Dubbo Java
【网络编程】理解客户端和服务器并使用Java提供的api实现回显服务器
【网络编程】理解客户端和服务器并使用Java提供的api实现回显服务器
70 0
|
9月前
|
缓存 JSON API
IOS网络编程:什么是 RESTful API?如何使用 RESTful 风格设计 API?
IOS网络编程:什么是 RESTful API?如何使用 RESTful 风格设计 API?
208 3
|
9月前
|
XML JSON API
Python 的网络编程:解释什么是 RESTful API?
Python 的网络编程:解释什么是 RESTful API?
79 1
|
存储 网络协议 API
网络编程必备:深入理解TCP/IP协议栈(含posix API实现)(下)
网络编程必备:深入理解TCP/IP协议栈(含posix API实现)
|
网络协议 算法 API
网络编程必备:深入理解TCP/IP协议栈(含posix API实现)(上)
网络编程必备:深入理解TCP/IP协议栈(含posix API实现)
|
Unix Linux
Linux本地套接字(Unix域套接字)----SOCK_DGRAM方式
这里介绍一下Linux进程间通信的socket方式---Local socket。这篇主要是介绍下SOCK_DGRAM方式的通信,即数据包的方式(与UDP类似),面向无连接。
336 0

热门文章

最新文章

相关课程

更多