TCP Sockets編程

TCP Sockets編程

《TCP Sockets編程》是2013年人民郵電出版社出版的圖書,作者是加Jesse Storimer。

基本介紹

  • 書名:TCP Sockets編程
  • 作者:加 Jesse Storimer
  • 譯者:門 佳
  • ISBN:9787115330529
  • 頁數:164
  • 定價:29.00
  • 出版社:人民郵電出版社
  • 出版時間:2013-10
  • 裝幀:平裝
  • 原作名:Working with TCP Sockets
內容介紹,作者介紹,目錄,

內容介紹

本書從最底層的概念開始,然後是高層的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.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

相關詞條

熱門詞條

聯絡我們