作者简介:
尹圣雨
曾为风投公司开发人员,因出版IT类书籍并开展相关讲座而闻名。2004年至今一直参与OpenGL ES图形库的建设和3D加速芯片的开发,以及Khronos Group(移动国际标准化财团)的标准制定相关业务,还参与手机DMB芯片的开发。现任(株)Axissoft公司CTO,致力于构建基于Web的解决方案。
ripeness21@gmail.com
译者简介:
金国哲
毕业于重庆大学计算机学院,2009年至今在延边大学计算机系任教。
主讲课程:Java程序设计、Android应用开发、Web程序设计等。
主要研究方向:跨语言检索、自然语言处理等。
曾主持并参与某部队入侵检测系统、论文自动采集及管理系统等多个软件开发项目。
第一部分 开始网络编程
第1章 理解网络编程和套接字 2
1.1 理解网络编程和套接字 2
1.2 基于Linux的文件操作 9
1.3 基于Windows平台的实现 15
1.4 基于Windows的套接字相关函数及示例 18
1.5 习题 24
第2章 套接字类型与协议设置 26
2.1 套接字协议及其数据传输特性 26
2.2 Windows平台下的实现及验证 32
2.3 习题 35
第3章 地址族与数据序列 36
3.1 分配给套接字的IP地址与端口号 36
3.2 地址信息的表示 39
3.3 网络字节序与地址变换 42
3.4 网络地址的初始化与分配 45
3.5 基于Windows的实现 52
3.6 习题 57
第4章 基于TCP的服务器端/客户端(1) 59
4.1 理解TCP和UDP 59
4.2 实现基于TCP的服务器端/客户端 64
4.3 实现迭代服务器端/客户端 71
4.4 基于Windows的实现 77
4.5 习题 81
第5章 基于TCP的服务器端/客户端(2) 82
5.1 回声客户端的完美实现 82
5.2 TCP原理 91
5.3 基于Windows的实现 96
5.4 习题 99
第6章 基于UDP的服务器端/客户端 101
6.1 理解UDP 101
6.2 实现基于UDP的服务器端/客户端 103
6.3 UDP的数据传输特性和调用connect函数 109
6.4 基于Windows的实现 114
6.5 习题 117
第7章 优雅地断开套接字连接 118
7.1 基于TCP的半关闭 118
7.2 基于Windows的实现 124
7.3 习题 127
第8章 域名及网络地址 128
8.1 域名系统 128
8.2 IP地址和域名之间的转换 130
8.3 基于Windows的实现 136
8.4 习题 138
第9章 套接字的多种可选项 140
9.1 套接字可选项和I/O缓冲大小 140
9.2 SO_REUSEADDR 145
9.3 TCP_NODELAY 150
9.4 基于Windows的实现 152
9.5 习题 154
第10章 多进程服务器端 155
10.1 进程概念及应用 155
10.2 进程和僵尸进程 159
10.3 信号处理 165
10.4 基于多任务的并发服务器 173
10.5 分割TCP的I/O程序 178
10.6 习题 182
第11章 进程间通信 183
11.1 进程间通信的基本概念 183
11.2 运用进程间通信 188
11.3 习题 193
第12章 I/O复用 194
12.1 基于I/O复用的服务器端 194
12.2 理解select函数并实现服务器端 197
12.3 基于Windows的实现 206
12.4 习题 209
第13章 多种I/O函数 211
13.1 send & recv函数 211
13.2 readv & writev函数 221
13.3 基于Windows的实现 225
13.4 习题 229
第14章 多播与广播 230
14.1 多播 230
14.2 广播 236
14.3 基于Windows的实现 240
14.4 习题 242
第二部分 基于Linux的编程
第15章 套接字和标准I/O 246
15.1 标准I/O函数的优点 246
15.2 使用标准I/O函数 249
15.3 基于套接字的标准I/O函数使用 252
15.4 习题 254
第16章 关于I/O流分离的其他内容 255
16.1 分离I/O流 255
16.2 文件描述符的复制和半关闭 259
16.3 习题 264
第17章 优于select的epoll 265
17.1 epoll理解及应用 265
17.2 条件触发和边缘触发 273
17.3 习题 283
第18章 多线程服务器端的实现 284
18.1 理解线程的概念 284
18.2 线程创建及运行 287
18.3 线程存在的问题和临界区 296
18.4 线程同步 299
18.5 线程的销毁和多线程并发服务器端的实现 306
18.6 习题 312
第三部分 基于Windows的编程
第19章 Windows平台下线程的使用 316
19.1 内核对象 316
19.2 基于Windows的线程创建 317
19.3 内核对象的2种状态 322
19.4 习题 325
第20章 Windows中的线程同步 327
20.1 同步方法的分类及CRITICAL_SECTION同步 327
20.2 内核模式的同步方法 331
20.3 Windows平台下实现多线程服务器端 339
20.4 习题 343
第21章 异步通知I/O模型 344
21.1 理解异步通知I/O模型 344
21.2 理解和实现异步通知I/O模型 346
21.3 习题 356
第22章 重叠I/O模型 357
22.1 理解重叠I/O模型 357
22.2 重叠I/O的I/O完成确认 362
22.3 习题 370
第23章 IOCP 371
23.1 通过重叠I/O理解IOCP 371
23.2 分阶段实现IOCP程序 379
23.3 习题 387
第四部分 结束网络编程
第24章 制作HTTP服务器端 390
24.1 HTTP概要 390
24.2 实现简单的Web服务器端 394
24.3 习题 401
第25章 进阶内容 403
25.1 网络编程学习的其他内容 403
25.2 网络编程相关书籍介绍 404
索引 406
· · · · · · (
收起)
评分
☆☆☆☆☆
本书最大的特点是程序例子足够多且能正常跑起来,内容对初学者友善,不会因为太难的内容而产生厌倦情绪。作为初学者,我是挺喜欢这本书的。 这本书另外一个好的地方是还同时介绍了Windows平台下的网络编程。那些Linux和Windows共有的一些接口,你会觉得,哦,原来也不是很难,...
评分
☆☆☆☆☆
1、作者功力深厚,点到为止,不局限于简单的背书式网络编程,且在最后的推荐进阶学习中再次强调了系统编程的重要。 2、兼顾了Linux与Windows平台,以Linux下的网络编程主。 3、讲了select、epoll、组播等内容,且对部分套接字的选项设置进行讲解。遗憾的的是没有讲原始套接字。...
评分
☆☆☆☆☆
可能很多人开始看网络编程都是用华章系列白色封面的那几本大厚书,那几本书实在不是初涉编程的新人能看懂的。 这本书对网络编程的讲解清晰直白,完全适合新手入门,写出了网络编程的每一个步骤,而且代码没有添加过多的异常处理以及其他让代码更健壮的部分。我觉得,在初学编程...
评分
☆☆☆☆☆
1、作者功力深厚,点到为止,不局限于简单的背书式网络编程,且在最后的推荐进阶学习中再次强调了系统编程的重要。 2、兼顾了Linux与Windows平台,以Linux下的网络编程主。 3、讲了select、epoll、组播等内容,且对部分套接字的选项设置进行讲解。遗憾的的是没有讲原始套接字。...
评分
☆☆☆☆☆
1、作者功力深厚,点到为止,不局限于简单的背书式网络编程,且在最后的推荐进阶学习中再次强调了系统编程的重要。 2、兼顾了Linux与Windows平台,以Linux下的网络编程主。 3、讲了select、epoll、组播等内容,且对部分套接字的选项设置进行讲解。遗憾的的是没有讲原始套接字。...