注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡操作系統(tǒng)LinuxLinux編程技術詳解

Linux編程技術詳解

Linux編程技術詳解

定 價:¥59.00

作 者: 杜華
出版社: 人民郵電出版社
叢編項:
標 簽: Linux

ISBN: 9787115166791 出版時間: 2007-11-01 包裝: 平裝
開本: 16開 頁數(shù): 516 字數(shù):  

內(nèi)容簡介

  本書全面介紹了Linux編程相關的知識,內(nèi)容涵蓋Linux基本知識、如何建立Linux開發(fā)環(huán)境、Linux開發(fā)工具、Linux文件系統(tǒng)、文件I/O操作、設備文件、進程與進程環(huán)境、守護進程、基本進程間通信方法、管道與命名管道、POSIX IPC、Linux下的多線程、Linux網(wǎng)絡編程、網(wǎng)絡嗅探器、Linux圖形界面開發(fā)基礎、GTK+圖形界面編程、界面布局與按鈕構件、GTK常用構件、對話框、菜單與工具條等?!”緯η笠匀娴膬?nèi)容及豐富的實例來指導讀者了解和掌握Linux編程的方方面面,書中提供了大量的實例,使讀者加深對于所介紹知識的理解,這些實例對于實際的項目開發(fā)同樣有很強的參考價值。 本書通俗易懂,適合Linux編程的初學者、Linux程序員以及高校計算機相關專業(yè)的師生參考使用。

作者簡介

暫缺《Linux編程技術詳解》作者簡介

圖書目錄

第1章 Linux基本知識 1
1.1 Linux系統(tǒng)概述 2
1.1.1 Linux的發(fā)展歷史 2
1.1.2 Linux與UNIX的關系 2
1.1.3 Linux的發(fā)音 3
1.2 POSIX標準與Linux Standard Base 3
1.2.1 POSIX標準 3
1.2.2 Linux Standard Base 3
1.3 GNU和GNU通用公共許可證(GPL) 4
1.3.1 GNU介紹 4
1.3.2 GNU通用公共許可證(GPL) 4
1.4 內(nèi)核就是Linux 4
1.5 文件系統(tǒng)分級結構標準(FHS) 5
1.5.1 FHS簡介 5
1.5.2 Linux目錄結構 5
1.6 Linux系統(tǒng)結構 6
1.7 小結 7
第2章 Linux開發(fā)環(huán)境 9
2.1 Linux發(fā)行版本介紹 10
2.2 Linux的文件系統(tǒng) 11
2.3 Linux的LiveCD 12
2.4 Fedora Core 6的安裝 12
2.4.1 為Linux系統(tǒng)預留磁盤空間 13
2.4.2 選擇Fedora Core的系統(tǒng)語言 14
2.4.3 為Fedora Core劃分磁盤分區(qū) 15
2.4.4 安裝GRUB菜單并設置網(wǎng)絡環(huán)境 16
2.4.5 設置時區(qū)并定制安裝軟件 16
2.5 Ubuntu Desktop 6.10的安裝 18
2.5.1 選擇系統(tǒng)默認語言并設置時區(qū) 18
2.5.2 添加用戶并設置磁盤分區(qū) 20
2.5.3 完成系統(tǒng)安裝 21
2.6 虛擬機簡介與VMware的安裝 22
2.6.1 VMware簡介 23
2.6.2 Virtual PC介紹 23
2.6.3 Xen介紹 24
2.6.4 Linux平臺下VMware WorkStation的安裝 24
2.7 在VMware WorkStation中安裝Linux系統(tǒng) 30
2.7.1 創(chuàng)建虛擬系統(tǒng)文件 30
2.7.2 配置虛擬系統(tǒng)的硬件環(huán)境 32
2.7.3 在虛擬系統(tǒng)中安裝Linux系統(tǒng) 34
2.7.4 向VMware虛擬機添加新硬件 35
2.7.5 在Linux中使用新添加的硬件 37
2.8 遠程連接Linux服務器 40
2.8.1 商業(yè)軟件開發(fā)中的代碼控制模式 40
2.8.2 SSH服務介紹 41
2.8.3 使用PuTTY登錄SSH服務器 42
2.8.4 開放X Window遠程訪問服務 43
2.8.5 在Window系統(tǒng)中登錄Linux圖形用戶界面 44
2.9 包管理工具Yum與APT 45
2.9.1 Yum介紹 46
2.9.2 APT介紹 46
2.9.3 使用APT配置開發(fā)環(huán)境 46
2.10 小結 47
第3章 Linux開發(fā)工具 49
3.1 文本編輯器:Vi 50
3.1.1 Vi編輯器的工作模式 50
3.1.2 Vi編輯器的基本操作 50
3.1.3 進入插入模式 51
3.1.4 末行模式下的常用命令 52
3.1.5 刪除命令 52
3.1.6 搜索及替換命令 52
3.1.7 Vi加密文件 53
3.1.8 在Vi中打開語法加亮和啟用自動縮進功能 53
3.2 文本編輯器:Emacs 54
3.2.1 啟動和退出Emacs 54
3.2.2 Emacs的基本編輯命令 54
3.3 源代碼閱讀工具:Source Insight 55
3.3.1 在Windows平臺上的使用 55
3.3.2 在Linux平臺上的使用 57
3.4 源代碼閱讀工具:Vim+Taglist+Ctags 57
3.4.1 Taglist和Ctags介紹 57
3.4.2 安裝Tag List和Ctags 57
3.4.3 使用Vim+Taglist+Ctags閱讀代碼 60
3.5 源代碼閱讀工具:Vim+Cscope 62
3.5.1 Cscope的安裝 62
3.5.2 Cscope的使用 64
3.5.3 Vim+Cscope的使用 65
3.5.4 Vim+Cscope閱讀代碼實例 67
3.6 源代碼閱讀工具:SlickEdit 68
3.6.1 安裝SlickEdit 68
3.6.2 SlickEdit的使用 69
3.7 基于Web的源代碼閱讀工具:Linux Cross-Reference 70
3.8 Linux下的C/C++編譯器 71
3.8.1 編譯器基礎 71
3.8.2 GNU GCC介紹 71
3.8.3 使用GCC編譯C代碼 72
3.8.4 使用GCC編譯C++代碼 73
3.8.5 使用GCC控制編譯過程 74
3.9 應用GNU Make實現(xiàn)項目管理 76
3.9.1 GNU Make介紹 76
3.9.2 簡單makefile示例 77
3.9.3 makefile的語法 78
3.9.4 Make工作流程 80
3.9.5 makefile的隱含規(guī)則 82
3.9.6 makefile的模式規(guī)則 84
3.10 Linux下的調(diào)試工具 84
3.10.1 GDB介紹 84
3.10.2 使用GDB調(diào)試簡單的用戶程序 85
3.10.3 GDB常用命令 92
3.10.4 可視化DDD調(diào)試工具介紹 97
3.10.5 DDD的安裝 98
3.10.6 使用DDD調(diào)試無運行參數(shù)的程序 99
3.10.7 使用DDD調(diào)試帶運行參數(shù)的程序 101
3.10.8 GDB 遠程調(diào)試 102
3.11 小結 103
第4章 Linux文件和目錄 105
4.1 Linux目錄 106
4.1.1 Linux目錄的基本概念與設備掛載 106
4.1.2 虛擬文件系統(tǒng)介紹 106
4.1.3 getcwd函數(shù)——獲得當前工作目錄 107
4.1.4 pathconf函數(shù)——獲得系統(tǒng)目錄最大長度 109
4.1.5 chdir,fchdir函數(shù)——更改當前工作目錄 110
4.1.6 mkdir、rmdir函數(shù)——創(chuàng)建和刪除目錄 112
4.2 Linux文件 114
4.2.1 Linux的文件實現(xiàn) 114
4.2.2 文件描述符與文件指針 115
4.2.3 文件的訪問權限 117
4.2.4 stat、fstate、lstat函數(shù)——獲得文件信息 118
4.2.5 chmod,fchmod函數(shù)——修改文件權限 123
4.2.6 chown、fchown、lchown函數(shù)——修改文件的擁有者 125
4.2.7 umask函數(shù) 126
4.3 硬鏈接與符號鏈接 128
4.3.1 硬鏈接 129
4.3.2 符號鏈接 129
4.3.3 創(chuàng)建或刪除鏈接 130
4.3.4 創(chuàng)建和刪除符號鏈接 131
4.4 綜合實例:編寫自己的ls命令 132
4.4.1 ls命令功能分析 132
4.4.2 具體模塊劃分 133
4.4.3 目錄文件列表獲得模塊 134
4.4.4 信息輸出模塊 136
4.4.5 具體代碼實現(xiàn)示例 136
4.5 小結 140
第5章 文件I/O操作 141
5.1 open與close函數(shù) 142
5.1.1 open函數(shù) 142
5.1.2 close函數(shù) 144
5.2 creat函數(shù) 145
5.3 read與write函數(shù) 146
5.3.1 read函數(shù) 146
5.3.2 write函數(shù) 148
5.4 lseek函數(shù) 150
5.5 dup與dup2函數(shù) 152
5.6 小結 154
第6章 設備文件 155
6.1 設備文件簡述 156
6.2 Linux設備驅(qū)動工作流程 157
6.3 終端設備 157
6.4 終端控制 159
6.4.1 使用stty命令顯示終端設置 159
6.4.2 重置終端參數(shù) 159
6.4.3 獲得當前終端名稱 160
6.4.4 使用tcgetattr函數(shù)與tcsetattr函數(shù)控制終端 161
6.5 密碼輸入關閉回顯的兩種方法 165
6.5.1 使用curses庫 165
6.5.2 使用tcgetattr函數(shù)和tcsetattr函數(shù) 167
6.6 串口通信的基本概念 168
6.6.1 串行通信與串口定義 169
6.6.2 串口通信的基本參數(shù) 169
6.7 在Linux下進行串口通信 170
6.7.1 打開串口 171
6.7.2 設置串口通信參數(shù) 171
6.7.3 讀寫串口 174
6.7.4 關閉串口 174
6.8 綜合實例:串口讀寫程序示例 175
6.9 音頻設備文件編程基礎 180
6.9.1 數(shù)字音頻基礎 180
6.9.2 Linux下的音頻設備文件 180
6.9.3 訪問音頻設備文件基本步驟 181
6.10 讓揚聲器發(fā)聲 182
6.11 Linux下聲卡編程 184
6.11.1 播放指定音頻文件 184
6.11.2 錄制音頻文件 186
6.12 小結 188
第7章 進程與進程環(huán)境 189
7.1 進程分類 190
7.1.1 交互進程 190
7.1.2 批處理進程 190
7.1.3 守護進程 190
7.2 虛擬內(nèi)存 190
7.2.1 Linux系統(tǒng)虛擬內(nèi)存的功能 190
7.2.2 在Linux系統(tǒng)中查看虛擬內(nèi)存的使用 191
7.3 進程內(nèi)存 192
7.3.1 進程內(nèi)存結構 192
7.3.2 進程內(nèi)存結構分析程序示例 193
7.4 進程標識 196
7.4.1 進程ID與父進程ID 196
7.4.2 用戶標識(UID)和有效用戶標識(EUID) 198
7.4.3 組標識(GID)和有效組標識(EGID) 200
7.5 Linux進程相關系統(tǒng)調(diào)用 201
7.5.1 fork函數(shù) 201
7.5.2 vfork函數(shù) 203
7.5.3 傳統(tǒng)fork系統(tǒng)調(diào)用和vfork系統(tǒng)調(diào)用的區(qū)別 203
7.5.4 fork函數(shù)與vfork函數(shù)區(qū)別示例 203
7.5.5 Linux系統(tǒng)中實現(xiàn)fork系統(tǒng)調(diào)用的機制 204
7.5.6 exec函數(shù)族 205
7.5.7 exit、_exit函數(shù)與return的不同 207
7.5.8 exit函數(shù) 208
7.5.9 _exit函數(shù) 209
7.5.10 exit函數(shù)與_exit函數(shù)區(qū)別 210
7.5.11 wait函數(shù) 210
7.5.12 使用kill函數(shù)發(fā)送信號 212
7.5.13 用于檢測退出狀態(tài)的宏 214
7.5.14 waitpid函數(shù) 215
7.6 僵尸進程 217
7.7 小結 218
第8章 守護進程 219
8.1 守護進程(daemon)介紹 220
8.2 創(chuàng)建守護進程 220
8.2.1 實現(xiàn)守護進程的步驟 220
8.2.2 守護進程具體實現(xiàn) 222
8.3 守護進程的日志實現(xiàn) 224
8.3.1 syslogd守護進程 224
8.3.2 syslogd守護進程配置文件說明 224
8.3.3 守護進程日志的實現(xiàn) 227
8.4 Client/Server工作模式 230
8.5 綜合實例:定時執(zhí)行任務的守護進程 230
8.6 小結 230
第9章 基本進程間通信方法 231
9.1 使用文件實現(xiàn)進程互斥 232
9.1.1 使用文件實現(xiàn)進程互斥程序的模塊劃分 232
9.1.2 使用文件實現(xiàn)進程互斥程序?qū)嵗?32
9.1.3 程序存在的問題 235
9.2 Linux文件鎖 235
9.2.1 fcntl函數(shù) 235
9.2.2 綜合實例:使用fcntl實現(xiàn)進程互斥 239
9.2.3 lockf函數(shù) 241
9.2.4 flock函數(shù) 244
9.3 信號的基本概念 244
9.3.1 信號的產(chǎn)生方式 244
9.3.2 捕獲信號時的處理 245
9.4 常見信號與信號分類 245
9.4.1 查看Linux系統(tǒng)中支持的信號 245
9.4.2 常見信號說明 245
9.4.3 使用信號終止程序的執(zhí)行 247
9.4.4 信號分類 247
9.5 產(chǎn)生信號 248
9.5.1 kill函數(shù) 248
9.5.2 raise函數(shù) 248
9.5.3 alarm函數(shù) 249
9.6 捕捉或忽略信號 251
9.6.1 signal函數(shù) 251
9.6.2 sigaction函數(shù) 252
9.7 綜合實例:實現(xiàn)對用戶郵件的自動檢測 255
9.7.1 守護進程和信號處理模塊 256
9.7.2 新郵件判斷模塊 258
9.7.3 主函數(shù) 259
9.8 小結 260
第10章 管道與命名管道 261
10.1 管道 262
10.1.1 管道的基本概念 262
10.1.2 管道讀寫過程描述 262
10.1.3 pipe函數(shù)與進程間通信 263
10.1.4 使用管道實現(xiàn)進程間的雙向通信 265
10.2 綜合實例:Shell管道重定向?qū)崿F(xiàn) 267
10.2.1 Shell重定向思想分析 267
10.2.2 類似程序的設計 267
10.3 popen函數(shù)與pclose函數(shù) 269
10.3.1 popen函數(shù) 269
10.3.2 pclose函數(shù) 269
10.3.3 Shell管道重定向程序的再實現(xiàn) 271
10.4 命名管道 273
10.4.1 命名管道的基本概念 273
10.4.2 在Shell中創(chuàng)建命名管道 273
10.4.3 mkfifo函數(shù) 274
10.5 小結 277
第11章 POSIX IPC 279
11.1 基本概念 280
11.1.1 消息隊列簡介 280
11.1.2 信號量簡介 280
11.1.3 共享內(nèi)存簡介 280
11.1.4 IPC資源 280
11.1.5 IPC標識符與關鍵字 281
11.2 基本IPC命令 282
11.2.1 ipcs命令 282
11.2.2 ipcrm命令 283
11.3 消息隊列 284
11.3.1 創(chuàng)建消息隊列 284
11.3.2 消息隊列中的基本數(shù)據(jù)結構 286
11.3.3 msgctl函數(shù) 288
11.3.4 msgsnd函數(shù) 291
11.3.5 msgrcv函數(shù) 295
11.4 信號量 297
11.4.1 臨界區(qū)與信號量、信號量集 298
11.4.2 創(chuàng)建信號量集 298
11.4.3 信號量集中的semid_ds數(shù)據(jù)結構 300
11.4.4 semctl函數(shù) 301
11.4.5 信號量集操作 305
11.5 共享內(nèi)存 309
11.5.1 創(chuàng)建共享內(nèi)存 309
11.5.2 共享內(nèi)存的基本數(shù)據(jù)結構 312
11.5.3 shmctl函數(shù) 313
11.5.4 shmat函數(shù) 316
11.5.5 shmdt函數(shù) 317
11.6 小結 320
第12章 Linux系統(tǒng)下的多線程 321
12.1 多線程簡介 322
12.1.1 線程的基本概念 322
12.1.2 線程分類 322
12.1.3 多進程VS多線程 322
12.2 創(chuàng)建線程與退出線程 323
12.2.1 pthread_create函數(shù) 323
12.2.2 pthread_exit函數(shù) 324
12.3 基本線程管理 325
12.4 線程屬性 327
12.4.1 初始化線程屬性 327
12.4.2 設置和獲得線程分離狀態(tài) 328
12.4.3 設置和獲得線程屬性對象的作用域 329
12.4.4 設置和獲得線程屬性對象的繼承性 330
12.4.5 設置和獲得線程屬性對象的調(diào)度策略 331
12.4.6 設置和獲得線程屬性對象的調(diào)度參數(shù) 332
12.4.7 實例:設置線程優(yōu)先級 332
12.5 線程同步 335
12.6 互斥鎖 336
12.6.1 創(chuàng)建互斥鎖 336
12.6.2 互斥鎖的加鎖 337
12.6.3 互斥鎖的解鎖 338
12.7 線程同步實例 338
12.8 小結 340
第13章 Linux網(wǎng)絡編程 341
13.1 套接字編程基礎 342
13.1.1 套接字與端口 342
13.1.2 套接字編程相關數(shù)據(jù)結構 343
13.1.3 套接字類型 343
13.1.4 big-endian與little-endian 343
13.2 面向連接的套接字通信 345
13.2.1 工作流程 346
13.2.2 socket函數(shù) 346
13.2.3 bind函數(shù) 348
13.2.4 listen函數(shù) 349
13.2.5 accept函數(shù) 349
13.2.6 connect函數(shù) 350
13.2.7 發(fā)送與接收數(shù)據(jù) 351
13.2.8 關閉套接字 353
13.3 UNIX domain中面向連接通信實現(xiàn)實例 353
13.3.1 服務器端實現(xiàn) 354
13.3.2 客戶端實現(xiàn) 355
13.3.3 程序運行結果分析 356
13.4 Internet domain中面向連接通信實現(xiàn)實例 357
13.4.1 服務器端實現(xiàn) 357
13.4.2 客戶端實現(xiàn) 360
13.5 無連接的套接字通信 362
13.5.1 工作流程 362
13.5.2 recvfrom函數(shù) 363
13.5.3 sendto函數(shù) 363
13.6 UNIX domain中面向無連接通信實現(xiàn)實例 364
13.6.1 服務器端實現(xiàn) 364
13.6.2 客戶端實現(xiàn) 365
13.6.3 程序執(zhí)行結果 367
13.7 Internet domain中面向無連接通信實現(xiàn)實例 367
13.7.1 服務器端實現(xiàn) 367
13.7.2 客戶端實現(xiàn) 369
13.7.3 程序執(zhí)行結果 370
13.8 使用select實現(xiàn)多路I/O復用 371
13.9 網(wǎng)絡的多路I/O復用實現(xiàn)實例 373
13.10 小結 376
第14章 網(wǎng)絡嗅探器 377
14.1 網(wǎng)絡嗅探器的基本原理 378
14.1.1 共享型以太網(wǎng) 378
14.1.2 交換型以太網(wǎng) 378
14.1.3 網(wǎng)卡的工作模式 379
14.1.4 網(wǎng)絡嗅探器工作流程 379
14.2 Wireshark(Ethereal)介紹 379
14.2.1 Wireshark(Ethereal)簡介 380
14.2.2 Wireshark(Ethereal)的使用 380
14.3 libpcap介紹與安裝 381
14.3.1 libpcap介紹 381
14.3.2 配置編譯環(huán)境 381
14.3.3 編譯libpcap 382
14.3.4 安裝編譯出的文件 382
14.4 使用libpcap開發(fā)網(wǎng)絡嗅探器 383
14.4.1 確定捕獲網(wǎng)絡數(shù)據(jù)包的網(wǎng)卡 383
14.4.2 打開網(wǎng)絡設備 386
14.4.3 設置過濾條件 387
14.4.4 獲取數(shù)據(jù)包 388
14.4.5 關閉網(wǎng)絡設備 394
14.5 基于libpcap的網(wǎng)絡嗅探器實例 395
14.6 小結 405
第15章 Linux圖形界面開發(fā)基礎 407
15.1 X Window系統(tǒng)簡介 408
15.1.1 X Window的歷史 408
15.1.2 X Window體系結構 408
15.2 Linux桌面環(huán)境 409
15.2.1 KDE 409
15.2.2 GNOME 409
15.3 Linux下的圖形開發(fā)包 410
15.3.1 GTK+簡介 410
15.3.2 GTK+的安裝 411
15.4 小結 412
第16章 GTK+圖形界面編程 413
16.1 編寫簡單的圖形界面程序 414
16.1.1 簡單GTK+程序示例 414
16.1.2 程序分析 414
16.1.3 設置窗口屬性 416
16.2 GTK+的信號與事件 417
16.2.1 GTK+信號 418
16.2.2 GTK+事件 418
16.3 為程序添加信號處理和按鈕 420
16.3.1 原有程序存在的問題 420
16.3.2 為程序添加事件、信號處理程序示例 421
16.4 小結 423
第17章 界面布局與按鈕構件 425
17.1 界面布局 426
17.1.1 容器構件 426
17.1.2 組裝盒(GtkBox)與按鈕盒(GtkButtonBox) 427
17.1.3 表構件(GtkTable) 432
17.1.4 固定容器構件(GtkFixed) 435
17.1.5 布局容器構件(GtkLayout) 438
17.2 按鈕構件 440
17.2.1 按鈕中的信號 440
17.2.2 雙態(tài)按鈕(GtkToggleButton) 441
17.2.3 復選按鈕(GtkCheckButton) 444
17.2.4 單選按鈕(GtkRadioButton) 444
17.3 小結 446
第18章 GTK+常用構件 447
18.1 標簽構件(GtkLabel) 448
18.1.1 創(chuàng)建標簽構件 448
18.1.2 設置與獲取標簽文字 448
18.1.3 標簽構件使用實例 448
18.2 列表構件(GtkList) 450
18.2.1 列表構件中的信號 450
18.2.2 創(chuàng)建列表構件 450
18.2.3 列表構件的選擇模式 450
18.2.4 添加或刪除列表構件中的項目 451
18.3 編輯構件(GtkEntry) 451
18.3.1 創(chuàng)建編輯構件 451
18.3.2 設置和獲取編輯構件中的內(nèi)容 452
18.3.3 修改編輯構件屬性 453
18.3.4 編輯構件的信號 453
18.3.5 編輯構件使用實例 454
18.4 組合框構件(GtkCombox) 456
18.4.1 創(chuàng)建組合框構件 456
18.4.2 設置組合框的內(nèi)容 456
18.4.3 組合框構件使用實例 457
18.5 框架構件(GtkFrame) 459
18.5.1 創(chuàng)建框架構件 459
18.5.2 設置框架構件 459
18.5.3 框架構件使用實例 460
18.6 進度條構件(GtkProgressBar) 462
18.6.1 創(chuàng)建進度條構件 462
18.6.2 控制進度條 462
18.6.3 使用定時器控制進度條的移動 463
18.6.4 進度條構件使用實例 464
18.7 小結 466
第19章 對話框 467
19.1 使用對話框 468
19.1.1 創(chuàng)建對話框 468
19.1.2 設置對話框大小 469
19.2 文件選擇對話框(GtkFileSelection) 470
19.2.1 創(chuàng)建文件選擇對話框 470
19.2.2 顯示或隱藏Fileop按鈕 472
19.2.3 定制文件選擇對話框?qū)嵗?73
19.3 字體選擇對話框(GtkFontSelectionDialog) 477
19.3.1 函數(shù)介紹 477
19.3.2 字體選擇對話框使用實例 478
19.4 小結 481
第20章 菜單與工具條 483
20.1 創(chuàng)建菜單 484
20.1.1 菜單結構 484
20.1.2 在程序中使用菜單 484
20.1.3 菜單使用實例 487
20.2 工具條(GtkToolbar) 489
20.2.1 在程序中使用工具條 489
20.2.2 工具條使用實例 491
20.3 小結 493
第21章 綜合實例:ping程序的實現(xiàn) 495
21.1 ping程序介紹 496
21.1.1 ping程序的使用 496
21.1.2 ping程序反饋信息分析 497
21.2 ping程序與ICMP協(xié)議 498
21.2.1 ping程序分析 498
21.2.2 ICMP協(xié)議簡介 499
21.3 ping程序的設計 501
21.3.1 報文校驗算法 501
21.3.2 報文校驗算法的具體實現(xiàn) 501
21.3.3 ping程序主要流程 503
21.3.4 IP包頭與ICMP包頭定義 503
21.3.5 構造IP與ICMP數(shù)據(jù)包 505
21.4 簡單ping程序的實現(xiàn) 507
21.5 ping程序的改進 511
21.5.1 顯示收到的ICMP數(shù)據(jù)包信息 511
21.5.2 接收超時解決辦法 512
21.5.3 改進后程序代碼與執(zhí)行結果 512
21.6 小結 516

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號