logo
分类于: 其它 职场办公

简介

TCP Sockets编程: TCP Sockets编程

TCP Sockets编程: TCP Sockets编程 7.4分

资源最后更新于 2020-08-23 08:20:27

作者:斯托里默 (Jesse Storimer)

译者:门 佳

出版社:人民邮电出版社

出版日期:2013-01

ISBN:9787115330529

文件格式: pdf

标签: 网络编程 Ruby network 计算机 Programming 网络 Linux/Unix 程序设计

简介· · · · · ·

本书从最底层的概念开始,然后是高层的Ruby包装器,最后涉及到更复杂的内容。最初你会学到如何使用Ruby所提供的底层调用来创建套接字,随后将会看到服务器以及客户端的bind/listen/accept或bind/connect方法的生命周期。接下来将学习到如何使用Ruby中的各种高级包装器类,以避开繁杂的旁枝末节。

本书的中间部分包含了一些高级课题,例如如何正确地实现套接字超时、SSL套接字、缓冲等。最后部分通过使用不同的并发模式来多次实现一个FTP服务器,从而将所有的理论知识应用于实践。

服务器和客户端的生命周期。

使用Ruby在合适的时机,以各种方式读取并写入数据。

提高Socket性能的一些方法。

SSL Sockets基础知识。

实现并发网络的6种架构模式。

连接复用、非阻塞IO、Sockets超时和Sockets选项,等等。

想要: 点击会收藏到你的 我的收藏,可以在这里查看

已收: 表示已经收藏

Tips: 注册一个用户 可以通过用户中心得到电子书更新的通知哦

目录

目  录
第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
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
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
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
第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
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