倉頡語言網絡編程
張磊
相關主題
商品描述
目錄大綱
目錄
第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