![]() 作者:斯托里默 (Jesse Storimer) 出版社: 人民邮电出版社 副标题: TCP Sockets编程 原作名: Working with TCP Sockets 译者:门 佳 出版年: 2013-10-1 页数: 146 定价: CNY 29.00 装帧: 平装 ISBN: 9787115330529 内容简介 · · · · · ·本书从最底层的概念开始,然后是高层的Ruby包装器,最后涉及到更复杂的内容。最初你会学到如何使用Ruby所提供的底层调用来创建套接字,随后将会看到服务器以及客户端的bind/listen/accept或bind/connect方法的生命周期。接下来将学习到如何使用Ruby中的各种高级包装器类,以避开繁杂的旁枝末节。 本书的中间部分包含了一些高级课题,例如如何正确地实现套接字超时、SSL套接字、缓冲等。最后部分通过使用不同的并发模式来多次实现一个FTP服务器,从而将所有的理论知识应用于实践。 服务器和客户端的生命周期。 使用Ruby在合适的时机,以各种方式读取并写入数据。 提高Socket性能的一些方法。 SSL Sockets基础知识。 实现并发网络的6种架构模式。 连接复用、非阻塞IO、Sockets超时和Sockets选项,等等。 作者简介 · · · · · ·作者简介: Jesse Storimer 高级软件工程师与自出版作家,服务于美国电子商务方案提供商Shopify。痴迷于编程,编程之余喜欢阅读、园艺以及徒步旅行等户外运动。除了经常写技术博客文章外,他还著有Working with Unix Processes,Working with Ruby Threads两本颇有影响力的电子书。 译者简介: 门佳 Unix/Linux shell、Perl、正则表达式爱好者。在2001年接触Linux后很快喜欢上该系统。对Unix/Linux系统管理、Linux内核、Web技术研究颇多。工作之余,还喜欢探讨心理学,热衷出没于和知乎。除此书外,他还译有《Linux Shell脚本攻略》和《理解Unix进程》。 目录 · · · · · ·目 录第1章 建立套接字 1 1.1 Ruby的套接字库 1 1.2 创建首个套接字 1 1.3 什么是端点 2 1.4 环回地址 3 · · · · · ·() 目 录 第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 · · · · · · () |
他的书必买,烧脑,值得珍藏
哲学问题
引发思考
观点比较新颖,文笔流畅,通俗易懂。