●部分 網絡編程縣本知識
章 網絡編程中的基本概念
1.1 網絡協議與計算機網絡體繫結構
1.2 OSI七層模型
1.3 TCP/IP四層模型
1.4 OSI參考模型與TCP/IP參考模型的比較
1.5 網絡通信過程
1.5.1 網絡通信的服務——面向連接的服務與無連接的服務
1.5.2 客戶端/服務器模型
1.5.3 客戶端/服務器的通信過程
第2章 socketAPI簡介
2.1 socket(套接字)概念
2.2 socket的初始化
2.2.1 基於Linux操作繫統的初始化
2.2.2 基於Windows操作繫統的實現
2.3 創建和釋放套接字
2.3.1 socket()函數
2.3.2 close()/closesocket()函數
2.4 面向連接的協議(TCP)
2.4.1 bind()函數
2.4.2 listen()函數
2.4.3 accept()函數
2.4.4 connect()函數
2.4.5 send()函數
2.4.6 recv()函數
2.5 無連接協議(UDP)
2.5.1 recvfrom()函數
2.5.2 sendto()函數
2.6 端口號
2.7 地址轉換函數
2.7.1 inet_addr()函數
2.7.2 inet_aton()函數
2.7.3 inet_ntoa()函數
2.7.4 inet_pton()函數
2.7.5 inet_ntop()函數
2.8 網絡字節序
2.8.1 htons()函數
2.8.2 htohs()函數
2.8.3 htonl()函數
2.8.4 htohl()函數
2.9 域名解析
2.9.1 gethostbyname()函數
2.9.2 gethostbyaddr()函數
2.9.3 getservbyname()函數
第3章 TCP流式套接字編程
3.1 TCP的傳輸特點和首部
3.1.1 TCP協議的傳輸特點
3.1.2 TCP的首部
3.2 TCP連接的建立與終止
3.3 TCP通信的幾個典型問題
3.3.1 滑動窗口(TCP流量控制)
3.3.2 TCP狀態轉換
3.3.3 半關閉
3.4 TCP套接字編程模型
3.4.1 TCP套接字編程的適用場合
3.4.2 TCP套接字的通信過程
3.4.3 TCP套接字的交互模型
3.4.4 TCP套接字的工作原理
第4章 UDP數據報套接字編程
4.1 UDP協議的傳輸特點
4.2 UDP套接字的適用場合
4.3 UDP套接字的通信過程
4.4 UDP套接字編程的交互模型
4.5 UDP套接字服務器的工作原理
4.6 UDP套接字的使用模式
第5章 基於UDP的廣播編程
5.1 套接字選項與setsockopt()函數
5.2 廣播數據的發送與接收
5.3 廣播程序流程
5.4 單播與廣播的比較
第6章 基於UDP的局域網組播編程
6.1 概述
6.2 組播地址
6.2.1 IPv4的D類地址
6.2.2 組播地址範圍
6.2.3 組播的通信過程
6.2.4 局域網上的組播和廣播的比較
第7章 原始套接字編程
7.1 原始套接字的功能
7.2 原始套接字編程模型
7.2.1 原始套接字的適用場合
7.2.2 原始套接字的通信過程
7.3 原始套接字的創建、輸入與輸出
7.3.1 創建原始套接字
7.3.2 使用原始套接字接收數據
7.3.3 使用原始套接字發送數據
第8章 基於Select模型的socket編程
8.1 Select模型的工作機制
8.2 使用Select模型編程的方法
第二部分 軟件介紹
第9章 Visual Studio 2015的使用
9.1 Visual Studio 2015集成開發環境組成
9.2 用向導創建Windows控制臺(Console)應用程序
9.3 用向導創建Windows GUI應用程序
9.4 編譯、鏈接的基本步驟
9.5 編譯錯誤的處理
9.6 Visual Studio 2015程序調試的基本方法
9.6.1 程序調試的基本方法
9.6.2 程序基本調試方法一:斷點
9.6.3 程序基本調試方法二:查看變量
9.6.4 程序基本調試方法三:查看內存
9.6.5 程序基本調試方法四:查看調用棧
9.6.6 程序基本調試方法五:輸出、打印
0章 Wireshark安裝與使用
10.1 並安裝Wireshark
10.2 Wireshark軟件界面介紹
10.3 Wireshark測試
1章 Eclipse的使用
11.1 Eclipse集成開發環境組成
11.2 Eclipse的安裝步驟
11.3 用向導創建並編譯程序
11.4 調試程序
11.4.1 添加斷點
11.4.2 調試程序
第三部分 實驗華倒編程
2章 實驗
12.1 實驗一基本的TCP編程
12.2 實驗二基本的UDP編程
12.3 實驗三UDP局域網廣播
12.4 實驗四UDP局域網組播
12.5 實驗五基於select()函數的並發編程
12.6 實驗六基於fork()函數的並發編程
12.7 實驗七raw socket編程
參考文獻
內容簡介
本書全面繫統地介紹了網絡編程的基本原理,剖析了網絡應用程序實現與套接字實現之間的關聯,分析了不同編程方法的實用性和優缺點。另外,書中收錄了豐富的示例,詳細展現了Linux和Windows平臺下套接字編程的共性與個性。特別是從代碼角度說明了不同模型服務器端的區別,對開發實踐有很大幫助。
本書內容豐富、結構清晰、講解細致、通俗易懂,既突出了基本原理和技術思想,也強調工程實現,可以作為大學本科、專科及高職院校相關專業的教材,也可作為廣大網絡應用程序開發人員的參考資料。