搬运工 发表于 2022-8-6 00:00:02

TL TCP Sockets编程



第 1 章 建立套接字............................................................................................ 1
1.1 Ruby 的套接字库............................................................................. 1
1.2 创建首个套接字.............................................................................. 1
1.3 什么是端点...................................................................................... 2
1.4 环回地址.......................................................................................... 3
1.5 IPv6 .................................................................................................. 3
1.6 端口.................................................................................................. 4
1.7 创建第二个套接字 .......................................................................... 5
1.8 文档.................................................................................................. 6
1.9 本章涉及的系统调用 ...................................................................... 7
第 2 章 建立连接 ................................................................................................ 8
第 3 章 服务器生命周期................................................................................... 9
3.1 服务器绑定...................................................................................... 9
3.1.1 该绑定到哪个端口............................................................ 10
3.1.2 该绑定到哪个地址............................................................ 11
3.2 服务器侦听.................................................................................... 12
3.2.1 侦听队列............................................................................ 13
图灵社区会员 Tiny9458 专享 尊重版权
2 | 目 录
3.2.2 侦听队列的长度 ................................................................ 13
3.3 接受连接 ........................................................................................ 14
3.3.1 以阻塞方式接受连接 ........................................................ 15
3.3.2 accept 调用返回一个数组..............................................15
3.3.3 连接类................................................................................ 17
3.3.4 文件描述符........................................................................ 17
3.3.5 连接地址............................................................................ 18
3.3.6 accept 循环 ..................................................................... 18
3.4 关闭服务器 .................................................................................... 19
3.4.1 退出时关闭........................................................................ 19
3.4.2 不同的关闭方式 ................................................................ 20
3.5 Ruby 包装器................................................................................... 22
3.5.1 服务器创建........................................................................ 22
3.5.2 连接处理............................................................................ 24
3.5.3 合而为一............................................................................ 25
3.6 本章涉及的系统调用 .................................................................... 25
第 4 章 客户端生命周期................................................................................. 27
4.1 客户端绑定 .................................................................................... 28
4.2 客户端连接 .................................................................................... 28
4.3 Ruby 包装器................................................................................... 30
4.4 本章涉及的系统调用 .................................................................... 32
第 5 章 交换数据............................................................................................... 33
第 6 章 套接字读操作 ..................................................................................... 36
6.1 简单的读操作 ................................................................................ 36
6.2 没那么简单 .................................................................................... 37
6.3 读取长度 ........................................................................................ 38
6.4 阻塞的本质 .................................................................................... 39
图灵社区会员 Tiny9458 专享 尊重版权
目 录 | 3
6.5 EOF 事件........................................................................................ 39
6.6 部分读取........................................................................................ 41
6.7 本章涉及的系统调用 .................................................................... 43
第 7 章 套接字写操作..................................................................................... 44
第 8 章 缓冲........................................................................................................ 45
8.1 写缓冲............................................................................................ 45
8.2 该写入多少数据............................................................................ 46
8.3 读缓冲............................................................................................ 47
8.4 该读取多少数据............................................................................ 47
第 9 章 第一个客户端/服务器...................................................................... 49
9.1 服务器............................................................................................ 49
9.2 客户端............................................................................................ 51
9.3 投入运行........................................................................................ 52
9.3 分析................................................................................................ 52
第 10 章 套接字选项....................................................................................... 54
10.1 SO_TYPE.................................................................................... 54
10.2 SO_REUSE_ADDR ...................................................................... 55
10.3 本章涉及的系统调用................................................................ 56
第 11 章 非阻塞式 IO...................................................................................... 57
11.1 非阻塞式读操作........................................................................ 57
11.2 非阻塞式写操作........................................................................ 60
11.3 非拥塞式接收............................................................................ 62
11.4 非拥塞式连接............................................................................ 63
第 12 章 连接复用............................................................................................ 65
12.1 select(2)...................................................................................... 66
图灵社区会员 Tiny9458 专享 尊重版权
4 | 目 录
12.2 读/写之外的事件....................................................................... 68
12.2.1 EOF............................................................................... 69
12.2.2 accept ........................................................................ 69
12.2.3 connect...................................................................... 69
12.3 高性能复用................................................................................ 72
第 13 章 Nagle 算法 ........................................................................................ 74
第 14 章 消息划分............................................................................................ 76
14.1 使用新行.................................................................................... 77
14.2 使用内容长度............................................................................ 79
第 15 章 超时 ..................................................................................................... 81
15.1 不可用的选项............................................................................ 81
15.2 IO.select ............................................................................... 82
15.3 接受超时.................................................................................... 83
15.4 连接超时.................................................................................... 83
第 16 章 DNS 查询........................................................................................... 85
第 17 章 SSL 套接字....................................................................................... 87
第 18 章 紧急数据............................................................................................ 92
18.1 发送紧急数据............................................................................ 93
18.2 接受紧急数据............................................................................ 93
18.3 局限............................................................................................ 94
18.4 紧急数据和 IO.select........................................................... 95
18.5 SO_OOBINLINE 选项................................................................ 96
第 19 章 网络架构模式................................................................................... 97
图灵社区会员 Tiny9458 专享 尊重版权
目 录 | 5
第 20 章 串行化 .............................................................................................. 101
20.1 讲解 ......................................................................................... 101
20.2 实现 ......................................................................................... 101
20.3 思考 ......................................................................................... 105
第 21 章 单连接进程..................................................................................... 107
21.1 讲解 ......................................................................................... 107
21.2 实现 ......................................................................................... 108
21.3 思考 ..........................................................................................111
21.4 案例 ..........................................................................................111
第 22 章 单连接线程..................................................................................... 112
22.1 讲解 ......................................................................................... 112
22.2 实现 ......................................................................................... 113
22.3 思考 ......................................................................................... 116
22.4 案例 ......................................................................................... 117
第 23 章 Preforking ....................................................................................... 118
23.1 讲解 ......................................................................................... 118
23.2 实现 ......................................................................................... 119
23.3 思考 ......................................................................................... 123
23.4 案例 ......................................................................................... 124
第 24 章 线程池 .............................................................................................. 125
24.1 讲解 ......................................................................................... 125
24.2 实现 ......................................................................................... 125
24.3 思考 ......................................................................................... 129
24.4 案例 ......................................................................................... 130
第 25 章 事件驱动.......................................................................................... 131
图灵社区会员 Tiny9458 专享 尊重版权
6 | 目 录
25.1 讲解.......................................................................................... 131
25.2 实现.......................................................................................... 133
25.3 思考.......................................................................................... 140
25.4 案例.......................................................................................... 142
第 26 章 混合模式.......................................................................................... 143
26.1 nginx......................................................................................... 143
26.2 Puma......................................................................................... 144
26.3 EventMachine .......................................................................... 145
第 27 章 结语 ................................................................................................... 147


**** Hidden Message *****

李才哥 发表于 2022-8-6 03:49:47

啥也不说了,感谢楼主分享哇!

daoxingwudao 发表于 2022-8-6 09:16:53

啥也不说了,感谢楼主分享哇!

xianyi 发表于 2022-8-6 14:40:01

啥也不说了,感谢楼主分享哇!

我叫白豆腐 发表于 2022-8-6 17:21:20

啥也不说了,感谢楼主分享哇!

17770767379 发表于 2022-8-6 23:13:35

啥也不说了,感谢楼主分享哇!

名誉权发 发表于 2022-8-7 00:28:41

么有分,谁能送我点积分啊::>_<::

kingdee 发表于 2022-8-7 07:27:54

啥也不说了,感谢楼主分享哇!

neun 发表于 2022-8-7 14:38:17

啥也不说了,感谢楼主分享哇!

willicn663 发表于 2022-8-8 01:07:21

啥也不说了,感谢楼主分享哇!
页: [1] 2
查看完整版本: TL TCP Sockets编程