倉頡語言網絡編程

張磊

  • 出版商: 清華大學
  • 出版日期: 2025-03-01
  • 定價: $654
  • 售價: 8.5$556
  • 語言: 簡體中文
  • ISBN: 7302679576
  • ISBN-13: 9787302679578
  • 下單後立即進貨 (約4週~6週)

  • 倉頡語言網絡編程-preview-1
  • 倉頡語言網絡編程-preview-2
  • 倉頡語言網絡編程-preview-3
倉頡語言網絡編程-preview-1

相關主題

商品描述

"本書基於網絡通信的基礎理論和倉頡語言的自身特點,系統性講解瞭如何實現高效、安全的網絡傳輸;對於網絡編程中的常見問題,詳細分析其產生原因並探討具體的解決方案,然後使用倉頡語言的類庫和語法給出開發示例。 本書共13章,分為4部分,第一部分(第1~3章)講解網絡編程的基礎知識和常用工具;第二部分(第4~7章)講解套接字編程的具體實現;第三部分(第8章和第9章)講解如何實現安全網絡通信;第四部分(第10~13章)講解Web編程的具體實現。 本書按照從底層到高層、從明文通信到安全通信的順序進行講解,既涵蓋了理論知識和方案分析,也涵蓋了精心設計的代碼示例,無論是對於網絡編程的初學者,還是工作多年的開發者都有重要的參考意義。 "

目錄大綱

目錄

第1章網絡編程基礎1

1.1什麽是電腦網絡1

1.2電腦網絡的層次2

1.3網絡數據傳輸4

1.4網絡地址5

1.4.1IPv4編址5

1.4.2IPv6編址7

1.5MAC地址與地址解析8

第2章網絡報文分析工具10

2.1Wireshark10

2.1.1Wireshark的安裝10

2.1.2Wireshark報文分析14

2.1.3Wireshark過濾器18

2.2Fiddler22

2.2.1Fiddler Classic的安裝23

2.2.2報文抓取原理24

2.2.3基本功能介紹26

2.2.4HTTPS報文解析30

第3章TCP/IP35

3.1TCP35

3.1.1TCP報文格式35

3.1.2三次握手38

3.1.3四次揮手41

3.1.4滑動窗口機制45

3.2UDP47

3.3IP48

3.3.1IPv448

3.3.2IPv649

3.4TCP/IP高級選項51

第4章Socket網絡通信53

4.1Socket輔助類庫53

4.1.1SocketAddressKind53

4.1.2IPMask53

4.1.3SocketNet54

4.1.4SocketAddress54

4.1.5SocketAddressWithMask57

4.1.6SocketKeepAliveConfig58

4.1.7SocketOptions59

4.2Socket基礎接口59

4.2.1StreamingSocket59

4.2.2DatagramSocket60

4.2.3ServerSocket60

4.3TcpSocket61

4.4TcpSocket客戶端示例66

4.4.1SMTP簡介66

4.4.2SMTP客戶端示例67

4.5TcpServerSocket69

4.6TCP回顯服務器示例77

4.6.1TcpEchoServer的實現78

4.6.2TcpEchoClient的實現80

4.7UdpSocket82

4.8UDP回顯服務器示例89

4.8.1UdpEchoServer的實現89

4.8.2UdpEchoClient的實現91

第5章粘包問題及解決方法94

5.1網絡通信粘包的表現94

5.2粘包產生的原因98

5.3粘包解決方法99

5.3.1指定數據包結束標志99

5.3.2固定包首可變包體110

第6章基於緩沖區的高效網絡I/O119

6.1直接輸出與緩沖區輸出119

6.2支持輸出緩沖區的TCP套接字122

6.3輸入緩沖區原理129

6.4輸入緩沖區實現示例131

第7章非阻塞Socket通信140

7.1阻塞與非阻塞140

7.2非阻塞Socket141

7.3單線程處理一萬並發示例142

7.3.1源碼結構142

7.3.2帶緩沖區的套接字類142

7.3.3線程安全的套接字隊列類145

7.3.4回顯服務器148

7.3.5回顯客戶端153

7.3.6編譯運行156

第8章TLS與數字證書159

8.1安全通信的演化159

8.1.1明文通信159

8.1.2對稱加密通信160

8.1.3非對稱加密通信160

8.1.4基於數字證書的非對稱加密通信162

8.2TLS協議簡介164

8.2.1TLS協議演進史164

8.2.2TLS協議構成164

8.2.3TLS握手過程165

8.3實現自簽名數字證書173

8.3.1Ubuntu系統下的OpenSSL安裝174

8.3.2Ubuntu系統下的證書簽發175

8.3.3Windows系統下的OpenSSL安裝181

8.3.4Windows系統下的證書簽發181

第9章安全網絡通信188

9.1安全基礎類庫及示例188

9.1.1標準庫Digest接口188

9.1.2crypto模塊digest 包189

9.1.3PadOption192

9.1.4RSAPrivateKey192

9.1.5RSAPublicKey193

9.1.6RSA密鑰示例194

9.1.7Curve197

9.1.8ECDSAPrivateKey197

9.1.9ECDSAPublicKey198

9.1.10ECDSA密鑰示例198

9.2數字證書類庫及示例200

9.2.1X509Name200

9.2.2SerialNumber 201

9.2.3KeyUsage201

9.2.4ExtKeyUsage202

9.2.5PublicKeyAlgorithm204

9.2.6Signature204

9.2.7SignatureAlgorithm204

9.2.8IP205

9.2.9X509CertificateInfo205

9.2.10X509Certificate206

9.2.11簽發數字證書示例208

9.2.12X509CertificateRequestInfo211

9.2.13X509CertificateRequest213

9.2.14生成證書請求文件並簽發數字證書示例214

9.3TLS類庫及示例218

9.3.1TlsVersion218

9.3.2HashType218

9.3.3SignatureType218

9.3.4SignatureSchemeType219

9.3.5SignatureAlgorithm 219

9.3.6CertificateVerifyMode 219

9.3.7TlsClientIdentificationMode220

9.3.8CipherSuite 220

9.3.9TlsClientConfig 220

9.3.10TlsServerConfig 223

9.3.11TlsSession 224

9.3.12TlsSessionContext 225

9.3.13TlsSocket 225

9.3.14TLS回顯服務器示例227

9.3.15TLS回顯客戶端示例230

9.3.16TLS會話復用示例233

第10章HTTP237

10.1HTTP的演進237

10.2HTTP消息結構238

10.2.1抽象消息結構238

10.2.2HTTP/1.1的消息結構239

10.2.3HTTP/2的消息結構245

10.2.4HTTP/3的消息結構251

10.3請求方法253

10.4狀態碼253

10.5首部字段257

10.6HTTP/首部壓縮靜態表258

10.6.1HTTP/2首部壓縮靜態表258

10.6.2HTTP/3首部壓縮靜態表261

第11章HTTP服務器端265

11.1Hello World265

11.2主要類庫及示例267

11.2.1Protocol267

11.2.2HttpStatusCode267

11.2.3HttpHeaders269

11.2.4Cookie274

11.2.5HttpRequest279

11.2.6HttpResponse282

11.2.7HttpResponseBuilder283

11.2.8HttpResponseWriter286

11.2.9FileHandler290

11.2.10Server295

11.2.11HttpRequestDistributor297

11.2.12ServerBuilder301

11.3綜合示例305

11.3.1基於自簽名數字證書的HTTPS示例305

11.3.2Basic基本身份認證示例314

11.3.3Cookie身份認證示例320

第12章HTTP客戶端329

12.1基礎示例329

12.2客戶端相關類庫及示例330

12.2.1CookieJar330

12.2.2HttpRequestBuilder336

12.2.3Client342

12.2.4ClientBuilder348

12.3綜合示例352

第13章WebSocket360

13.1WebSocket協議簡介360

13.1.1WebSocket握手360

13.1.2WebSocket幀結構362

13.2WebSocket API364

13.3WebSocket倉頡類庫367

13.3.1WebSocketFrameType367

13.3.2WebSocketFrame368

13.3.3WebSocket 368

13.4WebSocket簡單示例370

13.4.1WebSocket服務器端實現370

13.4.2WebSocket控制台客戶端實現372

13.4.3WebSocket瀏覽器客戶端實現375

13.5加密的多端聊天室示例377

13.5.1聊天室服務器端實現377

13.5.2聊天室控制台客戶端實現387

13.5.3聊天室瀏覽器客戶端實現392

參考文獻398