書馨卡幫你省薪 2024個人購書報告 2024中圖網(wǎng)年度報告
歡迎光臨中圖網(wǎng) 請 | 注冊

LINUX網(wǎng)絡程序設計 基于龍芯平臺

出版社:人民郵電出版社出版時間:2024-04-01
開本: 16開 頁數(shù): 306
中 圖 價:¥55.9(7.0折) 定價  ¥79.9 登錄后可看到會員價
加入購物車 收藏
運費6元,滿39元免運費
?新疆、西藏除外
本類五星書更多>

LINUX網(wǎng)絡程序設計 基于龍芯平臺 版權信息

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)驗。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網(wǎng)
在線客服