-
>
決戰(zhàn)行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優(yōu)實踐之路
-
>
第一行代碼Android
-
>
深度學習
-
>
Unreal Engine 4藍圖完全學習教程
-
>
深入理解計算機系統(tǒng)-原書第3版
-
>
Word/Excel PPT 2013辦公應用從入門到精通-(附贈1DVD.含語音視頻教學+辦公模板+PDF電子書)
LINUX網(wǎng)絡程序設計 基于龍芯平臺 版權信息
- ISBN:9787115628978
- 條形碼:9787115628978 ; 978-7-115-62897-8
- 裝幀:平裝-膠訂
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
LINUX網(wǎng)絡程序設計 基于龍芯平臺 本書特色
1. 針對信創(chuàng)環(huán)境的網(wǎng)絡編程書籍,基于多年教學實踐,反復打磨內容。
2. 注重工程實踐。本書的內容中設計的開發(fā)工具、技術等,與當前IT公司實際使用的主流開發(fā)工具鏈非常契合。
3. 本書配套資源豐富,包括 PPT、講義、源代碼,滿足讀者學習需要。
LINUX網(wǎng)絡程序設計 基于龍芯平臺 內容簡介
本書著重闡述基于龍芯平臺(龍芯CPU和Loongnix操作系統(tǒng))的網(wǎng)絡程序開發(fā)。本書首先介紹龍芯平臺下的C語言編譯工具鏈,包括Loongnix操作系統(tǒng)的安裝、Loongnix操作系統(tǒng)的基本使用方法、Loongnix操作系統(tǒng)中C語言的編程工具和代碼管理工具Git;然后介紹在龍芯平臺上基于編譯工具鏈編寫網(wǎng)絡程序的相關知識,包括網(wǎng)絡程序的基本原理,套接字應用程序接口的基本使用方法,多線程、多進程和I/O復用網(wǎng)絡程序的編程方法,原始套接字的編程方法;*后通過一個綜合性的網(wǎng)絡軟件項目案例,介紹使用Qt編寫圖形界面的網(wǎng)絡程序的基本方法。 本書適合作為應用型普通高校的電子信息類專業(yè)、計算機科學與技術等專業(yè)的教材,也可作為高職院校相關專業(yè)的擴展教材。自主信息技術領域的相關技術人員也可將本書用作網(wǎng)絡程序開發(fā)的參考資料。
LINUX網(wǎng)絡程序設計 基于龍芯平臺 目錄
第 1章 信創(chuàng)平臺概述 1
1.1 信創(chuàng)CPU簡介 1
1.1.1 龍芯CPU 1
1.1.2 其他信創(chuàng)CPU 2
1.2 Linux及信創(chuàng)操作系統(tǒng) 3
1.2.1 Linux操作系統(tǒng)簡介 3
1.2.2 Linux與Windows的差異 3
1.2.3 常見的Linux發(fā)行版 4
1.2.4 信創(chuàng)操作系統(tǒng) 5
第 2章 龍芯信創(chuàng)平臺 7
2.1 龍芯桌面計算機硬件平臺 7
2.2 Loongnix操作系統(tǒng) 8
2.3 Loongnix操作系統(tǒng)使用入門 12
2.3.1 常用命令 12
2.3.2 應用軟件安裝與卸載 23
2.3.3 Vim編輯器基本使用方法 25
第3章 信創(chuàng)平臺C語言編程環(huán)境 28
3.1 GCC與GDB 28
3.1.1 編譯的基本概念 28
3.1.2 編譯應用程序 32
3.1.3 編譯靜態(tài)鏈接庫 34
3.1.4 編譯動態(tài)鏈接庫 35
3.1.5 使用GDB調試代碼 42
3.2 Makefile基礎 45
3.2.1 Makefile基本語法 45
3.2.2 使用變量與模式匹配 47
3.2.3 在Makefile文件中指定搜索路徑 49
3.2.4 Makefile文件中基本函數(shù)的使用 50
3.2.5 簡單的Makefile模板 51
3.3 CMake基礎 53
3.3.1 CMake基本語法 53
3.3.2 使用CMake編譯應用程序 56
3.3.3 使用CMake編譯動態(tài)鏈接庫 58
3.4 使用VSCode開發(fā)C程序 60
3.4.1 VSCode常用插件及設置 60
3.4.2 在VSCode中應用Makefile編譯代碼 61
3.4.3 在VSCode中使用CMake編譯代碼 62
3.4.4 VSCode中調試C程序的基本方法 63
3.4.5 在VSCode中應用代碼規(guī)范格式化工具 65
第4章 使用Git管理代碼 66
4.1 Git概述 66
4.1.1 Git代碼版本控制概述 66
4.1.2 集中式和分布式版本控制系統(tǒng) 67
4.1.3 Git的基本結構 67
4.2 Git基本操作 68
4.2.1 Git安裝與初始設置 68
4.2.2 保存代碼到Git倉庫 69
4.2.3 Git的基本工作流程 75
4.3 Git分支 76
4.3.1 分支的創(chuàng)建與切換 76
4.3.2 切換分支的注意事項 80
4.3.3 分支合并 88
4.3.4 分支變基 99
4.4 Git遠程倉庫和遠程分支 102
4.4.1 遠程倉庫賬戶創(chuàng)建及密鑰配置 102
4.4.2 創(chuàng)建遠程倉庫 103
4.4.3 使用變基重做 110
4.4.4 代碼管理工作流程 114
第5章 網(wǎng)絡編程基礎 118
5.1 網(wǎng)絡程序及其基本要素 118
5.2 網(wǎng)絡通信協(xié)議 118
5.2.1 分層模型 118
5.2.2 TCP/IP 120
5.3 網(wǎng)絡通信地址 124
5.3.1 MAC地址 125
5.3.2 IP地址 125
5.4 應用標識 127
5.4.1 端口號 127
5.4.2 端口號分配及常用端口號 128
5.5 進程的網(wǎng)絡地址 128
5.5.1 三元組(半相關) 128
5.5.2 五元組(全相關) 129
5.6 網(wǎng)絡程序的基本模式 129
5.6.1 客戶端/服務器模式 129
5.6.2 瀏覽器/服務器模式 129
5.6.3 兩種模式的對比 129
第6章 套接字編程 131
6.1 套接字概述 131
6.1.1 應用程序接口 131
6.1.2 發(fā)展歷程 131
6.1.3 套接字通信的基礎流程 132
6.2 編寫“hello,world!”通信服務器程序 133
6.2.1 查詢函數(shù)文檔 133
6.2.2 創(chuàng)建套接字 133
6.2.3 綁定地址信息 135
6.2.4 建立套接字連接 138
6.2.5 發(fā)送消息 140
6.2.6 關閉套接字 142
6.3 編寫“hello,world!”通信客戶端程序 142
6.3.1 發(fā)送連接請求 142
6.3.2 接收消息 143
6.4 運行“hello,world!”程序 144
6.5 完善“hello,world!”程序 144
6.5.1 通過命令行輸入服務器信息 144
6.5.2 優(yōu)化錯誤處理 145
6.5.3 通過設置套接字選項解除地址被使用 145
6.5.4 循環(huán)實現(xiàn)服務器功能 148
6.5.5 使用shutdown()函數(shù)關閉套接字 149
6.5.6 使用多文件實現(xiàn)檢錯代碼 149
6.6 編寫TCP“回聲”程序 150
6.6.1 “回聲”的邏輯與實現(xiàn) 150
6.6.2 “回聲”程序中的隱患—“粘包” 152
6.6.3 基于TCP的應用層協(xié)議設計 152
6.7 編寫UDP“回聲”程序 154
6.7.1 sendto()函數(shù)和recvfrom()函數(shù) 154
6.7.2 實現(xiàn)UDP的“回聲”程序 156
6.7.3 UDP通信使用connect()函數(shù)注冊地址信息 157
第7章 多線程網(wǎng)絡程序 159
7.1 線程概述 159
7.1.1 操作系統(tǒng)、進程和線程之間的關系 159
7.1.2 進程和線程之間的關系 159
7.2 線程的創(chuàng)建與銷毀 160
7.2.1 線程創(chuàng)建函數(shù) 160
7.2.2 線程銷毀函數(shù) 162
7.3 線程同步方法 165
7.3.1 多線程同步問題 165
7.3.2 使用互斥量實現(xiàn)線程同步 167
7.3.3 使用信號量實現(xiàn)線程同步 168
7.4 編寫多線程聊天室程序 171
7.4.1 使用多線程實現(xiàn)服務器的并發(fā) 172
7.4.2 實現(xiàn)轉發(fā)消息到所有客戶端 174
7.4.3 斷開與對應客戶端的連接 175
7.4.4 正確實現(xiàn)線程同步 176
7.4.5 實現(xiàn)聊天室客戶端程序 177
7.4.6 代碼優(yōu)化 179
第8章 多進程網(wǎng)絡程序 181
8.1 進程概述 181
8.1.1 進程ID 181
8.1.2 父進程和子進程 182
8.2 進程的創(chuàng)建與銷毀 183
8.2.1 創(chuàng)建進程 183
8.2.2 銷毀進程 184
8.2.3 進程退出 187
8.2.4 “僵尸”進程 188
8.2.5 使用異步方式銷毀“僵尸”進程 190
8.3 多進程“回聲”程序實現(xiàn) 195
8.3.1 服務器多進程的實現(xiàn) 195
8.3.2 “僵尸”進程的處理方法 198
8.3.3 使用多進程實現(xiàn)客戶端的讀、寫功能分離 200
8.4 使用管道實現(xiàn)進程間通信 201
8.4.1 管道的使用方法 201
8.4.2 管道通信應用到多進程網(wǎng)絡程序中 204
第9章 I/O復用套接字編程 206
9.1 I/O復用概述 206
9.2 使用select()函數(shù)實現(xiàn)I/O復用 207
9.2.1 select()函數(shù) 207
9.2.2 文件集合的基本操作函數(shù) 207
9.2.3 select()函數(shù)調用流程 208
9.3 使用select()函數(shù)實現(xiàn)服務器并發(fā) 210
9.3.1 使用select()函數(shù)監(jiān)聽套接字 210
9.3.2 使用select()函數(shù)監(jiān)聽通信套接字 211
9.3.3 并發(fā)服務器代碼執(zhí)行情況 212
9.4 epoll基本使用方法 213
9.4.1 epoll與select()函數(shù)的差異 213
9.4.2 epoll的基本操作函數(shù) 214
9.5 使用epoll實現(xiàn)并發(fā)服務器 216
9.5.1 使用epoll處理監(jiān)聽套接字 216
9.5.2 使用epoll處理通信套接字 216
9.6 epoll的邊緣觸發(fā)與條件觸發(fā) 218
9.6.1 邊緣觸發(fā)與條件觸發(fā)的概念 218
9.6.2 邊緣觸發(fā)下的數(shù)據(jù)讀、寫方法 218
9.6.3 3種并發(fā)實現(xiàn)方法的簡單比較 220
第 10章 套接字編程補充 221
10.1 域名與IP地址 221
10.1.1 域名與DNS 221
10.1.2 ICP備案 222
10.1.3 編程中域名與IP地址的轉換 222
10.2 其他I/O函數(shù) 225
10.2.1 recv()與send()函數(shù) 225
10.2.2 發(fā)送與接收帶外數(shù)據(jù) 227
10.2.3 writev()與readv()函數(shù) 228
10.3 多播與廣播的實現(xiàn) 229
10.3.1 多播與廣播的概念 229
10.3.2 多播數(shù)據(jù)發(fā)送與接收 229
10.3.3 廣播數(shù)據(jù)發(fā)送與接收 230
第 11章 原始套接字 232
11.1 原始套接字概述 232
11.2 原始套接字編程簡介 233
11.2.1 原始套接字創(chuàng)建 233
11.2.2 原始套接字發(fā)送與接收數(shù)據(jù)包 234
11.2.3 原始套接字涉及的數(shù)據(jù)包結構 235
11.3 鏈路層原始套接字 239
11.3.1 鏈路層原始套接字的發(fā)送流程 239
11.3.2 ARP數(shù)據(jù)包發(fā)送樣例 243
11.3.3 鏈路層原始套接字的接收流程 245
11.3.4 鏈路層原始套接字抓包程序樣例 246
11.4 網(wǎng)絡層原始套接字 248
11.4.1 網(wǎng)絡層原始套接字的發(fā)送流程 248
11.4.2 使用ping工具發(fā)送ICMP數(shù)據(jù)包樣例 250
11.4.3 網(wǎng)絡層原始套接字的接收流程 252
11.4.4 使用ping工具接收ICMP數(shù)據(jù)包樣例 253
11.5 pcap簡介 255
11.5.1 pcap概述 255
11.5.2 pcap抓包流程 255
11.5.3 設置過濾條件 258
11.5.4 pcap抓包樣例 260
第 12章 綜合運用案例 262
12.1 實現(xiàn)簡單的Web服務器 262
12.1.1 多線程Web服務器實現(xiàn) 262
12.1.2 HTTP簡介 264
12.1.3 HTTP請求和響應報文結構 264
12.1.4 HTTP請求處理和返回HTTP響應 267
12.2 實現(xiàn)遠程過程調用 270
12.2.1 遠程過程調用簡介 270
12.2.2 遠程接口調用協(xié)議設計 271
12.2.3 遠程調用服務實現(xiàn) 272
12.2.4 遠程殼函數(shù)庫的實現(xiàn) 274
12.3 使用Qt實現(xiàn)網(wǎng)絡程序 278
12.3.1 Qt編程環(huán)境的安裝及設置 278
12.3.2 面向對象編程與Qt中的信號與槽機制 282
12.3.3 基于對話框的Qt圖形界面實現(xiàn) 286
12.3.4 QSocket相關類的使用方法 290
12.3.5 用Qt實現(xiàn)簡單聊天室客戶端 293
12.3.6 實現(xiàn)簡單聊天室服務器 301
LINUX網(wǎng)絡程序設計 基于龍芯平臺 作者簡介
趙洪 從 2004 年起在北京電子科技學院負責“通信軟件設計”“網(wǎng)絡安全與保密技術”等課程的教學工作,有近 20 年的教學經(jīng)驗。曾帶領技術團隊完成了多個產(chǎn)品的研制和產(chǎn)業(yè)化,有豐富的軟件開發(fā)經(jīng)驗。2014 年起,主持或參與了多個重要信創(chuàng)項目攻關及標準制定工作,為信創(chuàng)做出了自己的貢獻。 李兆斌 北京電子科技學院副教授,長期從事計算機網(wǎng)絡、通信安全方面的教學工作,負責“計算機網(wǎng)絡安全實踐”“IP 通信互聯(lián)技術”等課程的教學。主持或參與了多個信創(chuàng)相關課題,有豐富的工程實踐經(jīng)驗。 魏占禎 北京電子科技學院教授,長期從事通信網(wǎng)絡、信息安全方面的教學和科研工作,多次獲得省部級科技進步獎。近年來參與了信創(chuàng)領域的多項工作,有豐富的信創(chuàng)工程科研經(jīng)驗。
- >
有舍有得是人生
- >
姑媽的寶刀
- >
史學評論
- >
隨園食單
- >
月亮虎
- >
中國歷史的瞬間
- >
【精裝繪本】畫給孩子的中國神話
- >
唐代進士錄