第1章 認識TCP/IP 1
1.1 TCP/IP簇簡介 1
1.1.1 OSI模型 1
1.1.2 TCP/IP結構 2
1.1.3 常用協議 3
1.1.4 進程/應用層協議 5
1.1.5 RFC和標準簡單服務 6
1.2 TCP/IP基本概念 7
1.2.1 IP地址與子網掩碼 7
1.2.2 地址解析 9
1.2.3 域名系統(tǒng) 10
1.2.4 數據包的封裝和分用 10
1.2.5 IP數據報 11
1.2.6 UDP數據報 14
1.2.7 TCP數據報 15
1.2.8 端口號 20
第2章 Windows網絡編程 21
2.1 Winsock基本概念 21
2.1.1 套接字(Sockets) 21
2.1.2 基本概念 22
2.1.3 字節(jié)順序 23
2.2 Winsock編程原理 24
2.2.1 Winsock的啟動和終止 24
2.2.2 錯誤檢查和控制 25
2.2.3 Winsock編程模型 25
2.3 Winsock I/O模型 30
2.3.1 Select模型 31
2.3.2 WSAAsyncSelect模型 32
2.3.3 WSAEventSelect模型 33
2.4 Winsock 2的擴展特性 35
2.4.1 原始套接字 35
2.4.2 重疊I/O模型 36
2.4.3 服務質量(QoS) 37
2.5 套接字選項和I/O控制命令 38
2.5.1 套接字選項 38
2.5.2 I/O控制命令 40
2.6 WinInet網絡編程基礎 41
2.6.1 MFC WinInet類 41
2.6.2 利用WinInet API進行編程 52
2.7 MFC Windows Sockets網絡編程基礎 60
2.7.1 CAsyncSocket類 60
2.7.2 CSocket類 64
第3章 基本網絡應用 68
3.1 獲取計算機IP地址和計算機名 68
3.1.1 實現原理 68
3.1.2 程序實現 69
3.2 獲取域名、子網掩碼、網卡類型 72
3.2.1 實現原理 72
3.2.2 程序實現 75
3.3 獲取網卡的MAC地址 78
3.3.1 實現原理 78
3.3.2 程序實現 81
3.4 獲取系統(tǒng)支持的網絡協議信息 82
3.4.1 實現原理 82
3.4.2 程序實現 84
3.5 端口掃描程序 93
3.5.1 實現原理 94
3.5.2 程序實現 94
3.6 超級鏈接程序 100
3.6.1 實現原理 100
3.6.2 程序實現 100
3.7 TCP/IP超級終端 105
3.7.1 實現原理 106
3.7.2 程序實現 106
第4章 TCP、UDP典型應用實現 111
4.1 TCP實現C/S結構的聊天程序 111
4.1.1 服務器端程序開發(fā) 111
4.1.2 客戶端程序開發(fā) 116
4.1.3 程序運行演示 120
4.2 UDP實現點對點聊天程序 121
4.2.1 實現原理 121
4.2.2 代碼分析 122
4.2.3 程序演示 128
4.3 聊天程序Network Messenger(Peer to Peer) 129
4.3.1 實現原理 129
4.3.2 代碼分析 130
4.3.3 程序運行演示 165
第5章 FTP協議分析及典型應用 166
5.1 FTP的工作原理 166
5.1.1 FTP概述 166
5.1.2 FTP基本概念 167
5.1.3 數據流程 169
5.2 開發(fā)FTP服務器程序 174
5.2.1 服務器運行模塊 174
5.2.2 用戶管理模塊 202
5.2.3 安全設置模塊 205
5.2.4 程序運行 206
5.3 開發(fā)FTP客戶端程序 207
5.3.1 建立工程項目 207
5.3.2 實例分析 209
第6章 HTTP協議分析及典型應用 234
6.1 HTTP介紹 234
6.1.1 HTTP背景 234
6.1.2 HTTP的內容 237
6.1.3 消息(Message) 238
6.1.4 請求(Request) 239
6.1.5 響應(Response) 242
6.1.6 訪問認證 246
6.1.7 URL編碼 248
6.1.8 HTTP的應用 249
6.2 網站下載程序 250
6.3 網絡瀏覽器 270
6.3.1 實現原理 270
6.3.2 實例實現 271
6.4 Web服務器 278
6.4.1 Web Server相關理論 278
6.4.2 ASP Web Server 278
6.4.3 實例實現 279
6.4.4 程序運行 299
第7章 Telnet協議分析及典型應用 300
7.1 Telnet協議 300
7.1.1 Telnet概述 300
7.1.2 Telnet命令 302
7.1.3 NVT ASCII字符集 303
7.1.4 協商選項 303
7.1.5 子協商選項 305
7.1.6 Telnet操作方式 305
7.2 Telnet客戶端——BBS高級程序開發(fā) 306
7.2.1 實例實現 306
7.2.2 實例分析 307
第8章 E-mail協議分析及典型應用 324
8.1 E-mail信件結構詳述 324
8.1.1 RFC822信件的格式和內容 324
8.1.2 構造符合RFC822的信件 332
8.1.3 RFC822信件的語法分析 333
8.2 SMTP及發(fā)送電子郵件 333
8.2.1 SMTP的模型描述 333
8.2.2 SMTP的會話過程 334
8.3 發(fā)送無附件E-mail程序 342
8.3.1 實例實現 342
8.3.2 代碼分析 342
8.4 發(fā)送有附件的郵件 344
8.4.1 實例實現 344
8.4.2 代碼分析 344
8.5 POP3與接收電子郵件 372
8.5.1 POP3的模型描述 372
8.5.2 POP3的會話過程 372
8.6 接收E-mail的程序 380
8.6.1 實例實現 380
8.6.2 代碼分析 381
第9章 網絡防火墻分析及設計 393
9.1 防火墻基本理論 393
9.1.1 認識防火墻 393
9.1.2 使用防火墻的主要好處 393
9.1.3 主要的防火墻技術 394
9.2 數據包過濾防火墻-NetDefender 395
9.2.1 程序功能設計 395
9.2.2 代碼分析 396
9.2.3 實例演示 416
第10章 在線五子棋游戲 418
10.1 在線五子棋游戲 418
10.2 程序分析 419
10.2.1 網絡連接部分 419
10.2.2 棋盤部分 424
10.2.3 背景音樂部分 433
第11章 Windows串口通信 443
11.1 串口通信硬件理論 443
11.2 Windows API串口通信編程 446
11.3 Windows串口通信相關API函數 447
11.3.1 打開和關閉串口 448
11.3.2 串口配置和串口屬性 450
11.3.3 讀寫串口 460
11.3.4 通信事件 470
11.3.5 設備控制命令 472
11.4 TTY終端仿真程序 473
11.4.1 功能目標 473
11.4.2 主要技術/算法 474
11.4.3 具體實現 475