书籍详情
TCP Sockets编程
作者:(加)Jesse Storimer 著,门佳 译
出版社:人民邮电出版社
出版时间:2013-10-01
ISBN:9787115330529
定价:¥29.00
购买这本书可以去
内容简介
《图灵程序设计丛书:TCP Sockets编程》通过循序渐进的方式,从最基础的概念到高级别的Ruby封装器,再到更复杂的应用,提供了开发成熟且功能强大的应用程序所必备的知识和技巧,帮助读者掌握在Ruby语言环境下,用套接字实现项目开发的任务和技术。《图灵程序设计丛书:TCP Sockets编程》适合对TCP套接字感兴趣的读者阅读。
作者简介
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 Ruby的套接字库
1.2 创建首个套接字
1.3 什么是端点
1.4 环回地址
1.5 IPv6
1.6 端口
1.7 创建第二个套接字
1.8 文档
1.9 本章涉及的系统调用
第2章 建立连接
第3章 服务器生命周期
3.1 服务器绑定
3.1.1 该绑定到哪个端口
3.1.2 该绑定到哪个地址
3.2 服务器侦听
3.2.1 侦听队列
3.2.2 侦听队列的长度
3.3 接受连接
3.3.1 以阻塞方式接受连接
3.3.2 accept调用返回一个数组
3.3.3 连接类
3.3.4 文件描述符
3.3.5 连接地址
3.3.6 accept循环
3.4 关闭服务器
3.4.1 退出时关闭
3.4.2 不同的关闭方式
3.5 Ruby包装器
3.5.1 服务器创建
3.5.2 连接处理
3.5.3 合而为一
3.6 本章涉及的系统调用
第4章 客户端生命周期
4.1 客户端绑定
4.2 客户端连接
4.3 Ruby包装器
4.4 本章涉及的系统调用
第5章 交换数据
第6章 套接字读操作
6.1 简单的读操作
6.2 没那么简单
6.3 读取长度
6.4 阻塞的本质
6.5 EOF事件
6.6 部分读取
6.7 本章涉及的系统调用
第7章 套接字写操作
第8章 缓冲
8.1 写缓冲
8.2 该写入多少数据
8.3 读缓冲
8.4 该读取多少数据
第9章 第一个客户端/服务器
9.1 服务器
9.2 客户端
9.3 投入运行
9.3 分析
第10章 套接字选项
10.1 SO_TYPE
10.2 SO_REUSE_ADDR
10.3 本章涉及的系统调用
第11章 非阻塞式IO
11.1 非阻塞式读操作
11.2 非阻塞式写操作
11.3 非拥塞式接收
11.4 非拥塞式连接
第12章 连接复用
12.1 select(2)
12.2 读/写之外的事件
12.2.1 EOF
12.2.2 accept
12.2.3 connect
12.3 高性能复用
第13章 Nagle算法
第14章 消息划分
14.1 使用新行
14.2 使用内容长度
第15章 超时
15.1 不可用的选项
15.2 IO.select
15.3 接受超时
15.4 连接超时
第16章 DNS查询
第17章 SSL套接字
第18章 紧急数据
18.1 发送紧急数据
18.2 接受紧急数据
18.3 局限
18.4 紧急数据和IO.select
18.5 SO_OOBINLINE选项
第19章 网络架构模式
第20章 串行化
20.1 讲解
20.2 实现
20.3 思考
第21章 单连接进程
21.1 讲解
21.2 实现
21.3 思考
21.4 案例
第22章 单连接线程
22.1 讲解
22.2 实现
22.3 思考
22.4 案例
第23章 Preforking
23.1 讲解
23.2 实现
23.3 思考
23.4 案例
第24章 线程池
24.1 讲解
24.2 实现
24.3 思考
24.4 案例
第25章 事件驱动
25.1 讲解
25.2 实现
25.3 思考
25.4 案例
第26章 混合模式
26.1 nginx
26.2 Puma
26.3 EventMachine
第27章 结语
1.1 Ruby的套接字库
1.2 创建首个套接字
1.3 什么是端点
1.4 环回地址
1.5 IPv6
1.6 端口
1.7 创建第二个套接字
1.8 文档
1.9 本章涉及的系统调用
第2章 建立连接
第3章 服务器生命周期
3.1 服务器绑定
3.1.1 该绑定到哪个端口
3.1.2 该绑定到哪个地址
3.2 服务器侦听
3.2.1 侦听队列
3.2.2 侦听队列的长度
3.3 接受连接
3.3.1 以阻塞方式接受连接
3.3.2 accept调用返回一个数组
3.3.3 连接类
3.3.4 文件描述符
3.3.5 连接地址
3.3.6 accept循环
3.4 关闭服务器
3.4.1 退出时关闭
3.4.2 不同的关闭方式
3.5 Ruby包装器
3.5.1 服务器创建
3.5.2 连接处理
3.5.3 合而为一
3.6 本章涉及的系统调用
第4章 客户端生命周期
4.1 客户端绑定
4.2 客户端连接
4.3 Ruby包装器
4.4 本章涉及的系统调用
第5章 交换数据
第6章 套接字读操作
6.1 简单的读操作
6.2 没那么简单
6.3 读取长度
6.4 阻塞的本质
6.5 EOF事件
6.6 部分读取
6.7 本章涉及的系统调用
第7章 套接字写操作
第8章 缓冲
8.1 写缓冲
8.2 该写入多少数据
8.3 读缓冲
8.4 该读取多少数据
第9章 第一个客户端/服务器
9.1 服务器
9.2 客户端
9.3 投入运行
9.3 分析
第10章 套接字选项
10.1 SO_TYPE
10.2 SO_REUSE_ADDR
10.3 本章涉及的系统调用
第11章 非阻塞式IO
11.1 非阻塞式读操作
11.2 非阻塞式写操作
11.3 非拥塞式接收
11.4 非拥塞式连接
第12章 连接复用
12.1 select(2)
12.2 读/写之外的事件
12.2.1 EOF
12.2.2 accept
12.2.3 connect
12.3 高性能复用
第13章 Nagle算法
第14章 消息划分
14.1 使用新行
14.2 使用内容长度
第15章 超时
15.1 不可用的选项
15.2 IO.select
15.3 接受超时
15.4 连接超时
第16章 DNS查询
第17章 SSL套接字
第18章 紧急数据
18.1 发送紧急数据
18.2 接受紧急数据
18.3 局限
18.4 紧急数据和IO.select
18.5 SO_OOBINLINE选项
第19章 网络架构模式
第20章 串行化
20.1 讲解
20.2 实现
20.3 思考
第21章 单连接进程
21.1 讲解
21.2 实现
21.3 思考
21.4 案例
第22章 单连接线程
22.1 讲解
22.2 实现
22.3 思考
22.4 案例
第23章 Preforking
23.1 讲解
23.2 实现
23.3 思考
23.4 案例
第24章 线程池
24.1 讲解
24.2 实现
24.3 思考
24.4 案例
第25章 事件驱动
25.1 讲解
25.2 实现
25.3 思考
25.4 案例
第26章 混合模式
26.1 nginx
26.2 Puma
26.3 EventMachine
第27章 结语
猜您喜欢