基本信息,內容簡介,圖書目錄,
基本信息
網路程式設計套用教程
作者:曾凡鋒 肖珂
內容簡介
本書遵循理論與實踐相結合的教學目的,以實例講解在Windows環境下如何開發網路應用程式的方法。全書共分7章:第1章介紹網路編程的一些基本概念;第2章介紹套接字的基本概念以及Windows Socket的內容;第3~5章分別介紹流式套接字、數據報套接字和原始套接字的編程原理,並用實例詳細介紹如何開發相應的網路應用程式;第6章介紹常見的套用層協定(如FTP、SMTP、HTTP、MQTT)和WinInet的內容,並用實例描述如何編寫基於套用層協定的網路應用程式;
第7章介紹使用廣泛的WinPcap的概念,以及如何用WinPcap開發相關網路應用程式。本書的特點是有大量的實例原始碼及詳細解析。 本書主要供普通高校計算機、信息安全、通信工程等專業的師生使用,也可供對網路編程感興趣的各類人員自學使用。
圖書目錄
第1章網路編程基礎 1
1.1計算機網路基礎 1
1.1.1計算機協定及協定分層 1
1.1.2網路定址方式 4
1.2網路應用程式特點及類型 6
1.3網路通信模型 7
1.4客戶端/伺服器模型 8
1.4.1客戶端和伺服器的關係 9
1.4.2伺服器的關鍵點 10
1.5其他常見通信模型 11
1.6網路數據 13
1.6.1位元組順序 14
1.6.2結構的對齊 14
1.7NetBIOS 16
1.8編程實現計算機網路基本信息查詢 17
1.8.1問題 17
1.8.2實現方法 17
1.8.3具體實現 17
1.9習題 22
第2章套接字基礎 23
2.1TCP/IP協定軟體接口 23
2.2套接字 24
2.2.1套接字編程接口的起源與發展 24
2.2.2套接字的抽象概念 24
2.2.3套接字接口的特點和內容 25
2.3Windows套接字 26
2.3.1WindowsSockets規範 26
2.3.2WinSock頭檔案和庫檔案 27
2.3.3WinSockAPI 27
2.3.4WinSock初始化 29
2.3.5錯誤檢查和處理 30
2.3.6WinSock的地址描述 30
2.3.7創建套接字 33
2.4套接字選項和I/O控制命令 33
2.4.1套接字選項 33
2.4.2I/O控制命令 38
2.5套接字的I/O模式 39
2.5.1網路通信中的I/O等待 40
2.5.2套接字的I/O模式 40
2.6習題 43
第3章流式套接字編程 44
3.1TCP傳輸協定 44
3.1.1TCP報文格式 44
3.1.2TCP協定的傳輸特點 45
3.1.3TCP連線的建立與關閉 46
3.2流式套接字的編程模型 48
3.2.1流式套接字的通信流程 48
3.2.2流式套接字的編程模式 49
3.3相關套接字函式 52
3.3.1創建和關閉套接字 52
3.3.2綁定地址 54
3.3.3監聽套接字 55
3.3.4連線套接字 56
3.3.5數據通信 58
3.4阻塞流式套接字編程實例 59
3.4.1問題 59
3.4.2實現方法 60
3.4.3基於阻塞流式套接字的伺服器實現 60
3.4.4基於阻塞流式套接字的客戶端實現 62
3.5非阻塞流式套接字編程實例 64
3.5.1問題 64
3.5.2實現方法 65
3.5.3基於非阻塞流式套接字的伺服器實現 65
3.5.4基於非阻塞流式套接字的客戶端實現 68
3.6Windows下的多執行緒編程 71
3.6.1執行緒的創建和終止 71
3.6.2執行緒的同步 72
3.6.3同步對象 73
3.7基於流式套接字支持多客戶端的編程實例 76
3.7.1問題 76
3.7.2實現方法 76
3.7.3基於阻塞流式套接字的多執行緒伺服器的實現 76
3.7.4基於阻塞流式套接字的多執行緒客戶端的實現 80
3.8習題 83
第4章數據報套接字編程 84
4.1UDP用戶數據報協定 84
4.1.1UDP報文格式 84
4.1.2UDP協定的傳輸特點 85
4.2數據報套接字的編程模型 85
4.2.1數據報套接字的通信流程 86
4.2.2數據報套接字的編程模式 87
4.3相關套接字函式 89
4.3.1創建和關閉套接字 89
4.3.2綁定地址 90
4.3.3數據通信 90
4.4數據報套接字編程實例 92
4.4.1問題 92
4.4.2實現方法 92
4.4.3數據報套接字的伺服器應用程式的實現 92
4.4.4數據報套接字的客戶端應用程式的實現 94
4.4.5連線模式下數據報套接字的客戶端應用程式的實現 97
4.5數據報套接字廣播通信編程實例 99
4.5.1問題 99
4.5.2實現方法 99
4.5.3數據報套接字廣播通信的伺服器應用程式的實現 99
4.5.4數據報套接字廣播通信的客戶端應用程式的實現 101
4.6數據報套接字通信可靠性的提高 103
4.6.1數據報套接字的不可靠問題 103
4.6.2判斷伺服器是否啟動 104
4.6.3處理傳輸中數據報丟失的問題 105
4.6.4處理接收到的干擾數據 106
4.6.5流量溢出問題 106
4.7習題 106
第5章原始套接字編程 107
5.1原始套接字簡介 107
5.1.1原始套接字和標準套接字的差別 107
5.1.2原始套接字的功能 108
5.1.3原始套接字的套用場合 109
5.2原始套接字的編程模型 109
5.2.1原始套接字的通信流程 109
5.2.2原始套接字的編程模式 110
5.3相關套接字函式 112
5.3.1創建和關閉套接字 112
5.3.2綁定地址 113
5.3.3數據通信 114