Linux網(wǎng)絡(luò)編程技術(shù)

出版時(shí)間:2001-11  出版社:人民郵電出版社  作者:天夜創(chuàng)作室  頁數(shù):431  
Tag標(biāo)簽:無  

內(nèi)容概要

本書詳盡而細(xì)致地介紹了在Linux操作系統(tǒng)下進(jìn)行網(wǎng)絡(luò)編程所需要的各種知識(shí),對網(wǎng)絡(luò)編程的模型和原理、套接字函數(shù)的使用方法、多線程和多進(jìn)程的結(jié)構(gòu)以及大型網(wǎng)絡(luò)應(yīng)用程序的設(shè)計(jì)方法等進(jìn)行了全面的講解書中還穿插了大量的實(shí)例程序,并配以說明,更加方便讀者的學(xué)習(xí)和理解.
本書內(nèi)容的精心安排、簡潔的措辭、豐富的實(shí)例可以使初學(xué)者迅速掌握Linux網(wǎng)絡(luò)編程的技術(shù),同時(shí),Linux的高級(jí)程序員也可以從中得到一些啟示,從而最大限度地發(fā)揮Linux程序的潛能。本書適用于各種Linux網(wǎng)絡(luò)程序的開發(fā)維護(hù)人

書籍目錄

第1篇 基礎(chǔ)知識(shí)篇
第1章 Linux操作系統(tǒng)概述 3
1.1 Linux操作系統(tǒng)簡介 4
1.1.1 Linux的來源 4
1.1.2 Linux的特征 5
1.2 常用的Linux命令 6
1.2.1 操作目錄和處理文件 6
1.2.2 正文編輯命令vi 9
1.2.3 進(jìn)程處理 11
1.2.4 安全與權(quán)限設(shè)置 12
1.2.5 基本的網(wǎng)絡(luò)命令 14
1.2.6 聯(lián)機(jī)幫助 16
1.3 文件系統(tǒng) 17
1.3.1 Linux文件系統(tǒng)概述 18
1.3.2 Linux文件系統(tǒng)的組成 18
1.3.3 文件系統(tǒng)管理 20
1.3.4 虛擬文件系統(tǒng)VFS 22
1.3.5 文件系統(tǒng)的相關(guān)調(diào)用 25
1.3.6 安裝和卸載文件系統(tǒng) 27
1.4 Linux系統(tǒng)的安全性 29
1.4.1 安裝和啟動(dòng)安全 29
1.4.2 用戶賬號(hào)與口令 30
1.4.3 文件與系統(tǒng)備份 31
1.4.4 網(wǎng)絡(luò)服務(wù)的安全 32
1.5 小結(jié)與練習(xí) 33
1.5.1 小結(jié) 33
1.5.2 習(xí)題與思考 33
第2章 TCP/IP協(xié)議 35
2.1 網(wǎng)絡(luò)傳輸分層 36
2.1.1 OSI參考模型 36
2.1.2 TCP/IP協(xié)議簇 37
2.2 IP協(xié)議 39
2.2.1 IP報(bào)文格式 40
2.2.2 IP地址 42
2.2.3 子網(wǎng)與網(wǎng)絡(luò)掩碼 44
2.2.4 IP路由 45
2.2.5 IP層的其他控制協(xié)議 46
2.3 差錯(cuò)和控制報(bào)文協(xié)議ICMP 47
2.4 TCP協(xié)議 49
2.4.1 TCP傳輸原理 49
2.4.2 傳輸層端口 50
2.4.3 TCP格式 50
2.4.4 建立一個(gè)TCP連接 53
2.4.5 TCP序列號(hào)預(yù)測 53
2.5 UDP協(xié)議 54
2.5.1 UDP協(xié)議簡介 54
2.5.2 何時(shí)使用UDP協(xié)議 55
2.6 小結(jié)與練習(xí) 56
2.6.1 小結(jié) 56
2.6.2 習(xí)題與思考 56
第3章 網(wǎng)絡(luò)編程基礎(chǔ) 57
3.1 客戶端與服務(wù)器通信模型 58
3.2 套接字編程基礎(chǔ) 59
3.2.1 套接字簡介 59
3.2.1 套接字網(wǎng)絡(luò)編程原理 60
3.2.3 基本套接字函數(shù) 62
3.3 完整的讀寫函數(shù) 72
3.4 數(shù)據(jù)的傳遞 76
3.4.1 傳遞整形數(shù)據(jù)示例 76
3.4.2 傳遞字符串?dāng)?shù)據(jù)示例 81
3.4.3 數(shù)據(jù)傳遞的格式問題 85
3.5 小結(jié)與練習(xí) 85
3.5.1 小結(jié) 85
3.5.2 習(xí)題與思考 86
第4章 進(jìn)程控制 87
4.1 進(jìn)程的概念 88
4.1.1 程序與進(jìn)程 88
4.1.2 進(jìn)程控制塊PCB 89
4.1.3 進(jìn)程的標(biāo)志 89
4.1.4 多進(jìn)程程序的特點(diǎn) 92
4.2 用fork創(chuàng)建進(jìn)程 93
4.2.1 Linux系統(tǒng)描述進(jìn)程的數(shù)據(jù)結(jié)構(gòu) 93
4.2.2 fork調(diào)用完成的操作 94
4.2.3 子進(jìn)程與父進(jìn)程 95
4.2.4 一個(gè)fork調(diào)用的簡單實(shí)例 96
4.2.5 fork調(diào)用對文件的共享存取 97
4.3 和進(jìn)程相關(guān)的系統(tǒng)調(diào)用 101
4.3.1 Linux系統(tǒng)調(diào)用簡介 101
4.3.2 exec系統(tǒng)調(diào)用 101
4.3.3 system函數(shù)調(diào)用 104
4.3.4 wait函數(shù)調(diào)用 104
4.3.5 waitpid函數(shù)調(diào)用 105
4.3.6 setpgrp函數(shù)調(diào)用 107
4.3.7 signal函數(shù)調(diào)用 107
4.3.8 kill函數(shù)調(diào)用 109
4.3.9 alarm系統(tǒng)調(diào)用 110
4.3.10 exit函數(shù)調(diào)用 111
4.4 守護(hù)進(jìn)程 112
4.5 多進(jìn)程編程的技巧 114
4.5.1 程序結(jié)構(gòu)問題 114
4.5.2 選擇主體分叉點(diǎn) 114
4.5.3 進(jìn)程間關(guān)系處理 114
4.5.4 進(jìn)程間通信問題 115
4.6 小結(jié)與練習(xí) 115
4.6.1 小結(jié) 115
4.6.2 習(xí)題與思考 115
第5章 域名系統(tǒng)與套接字選項(xiàng) 117
5.1 域名系統(tǒng)簡介 118
5.1.1 域名 119
5.1.2 名稱服務(wù)器 120
5.1.3 DNS客戶/服務(wù)器機(jī)制 120
5.2 域名和IP地址的獲取 121
5.2.1 通過域名獲得IP地址 121
5.2.2 通過IP地址獲取域名信息 123
5.2.3 獲取本地主機(jī)的域名地址 125
5.2.4 獲取套接字本地名和相連的端地址 126
5.2.5 internet地址操作的函數(shù)調(diào)用 129
5.3 端口號(hào)和服務(wù)名的獲取 130
5.3.1 通過服務(wù)名獲取端口號(hào) 130
5.3.2 通過端口號(hào)獲取服務(wù)名 131
5.4 其他網(wǎng)絡(luò)相關(guān)信息的獲取 132
5.4.1 getprotoent函數(shù)調(diào)用 132
5.4.2 getservent函數(shù)調(diào)用 134
5.5 套接字選項(xiàng) 136
5.4.1 函數(shù)getsockopt和setsockopt 136
5.4.2 通用套接字選項(xiàng) 137
5.4.3 函數(shù)fcntl和ioctl 141
5.5 小結(jié)與練習(xí) 142
5.5.1 小結(jié) 142
5.5.2 習(xí)題與思考 143
第6章 UDP數(shù)據(jù)報(bào)編程 145
6.1 UDP數(shù)據(jù)報(bào)編程概述 146
6.2 recvfrom和sendto函數(shù) 147
6.3 UDP服務(wù)器的工作特點(diǎn) 149
6.4 UDP客戶機(jī)的工作特點(diǎn) 152
6.5 UDP套接字的連接 156
6.5.1 UDP套接字如何建立連接 156
6.5.2 數(shù)據(jù)報(bào)發(fā)送后情況 158
6.5.3 連接的重設(shè)與取消 158
6.6 UDP應(yīng)用程序示例 159
6.6.1 發(fā)送和接收指定的數(shù)據(jù)報(bào)實(shí)例 159
6.6.2 OICQ的實(shí)現(xiàn)原理 163
6.7 UDP編程的一些常見問題 166
6.7.1 UDP與TCP的比較 166
6.7.2 UDP缺乏流量控制 166
6.7.3 數(shù)據(jù)報(bào)的丟失問題 167
6.7.4 數(shù)據(jù)的排序問題 167
6.8 小結(jié)與練習(xí) 167
6.8.1 小結(jié) 167
6.8.2 習(xí)題與思考 168
第2篇 應(yīng)用提高篇
第7章 進(jìn)程間通信與同步 171
7.1 信號(hào)處理 172
7.1.1 信號(hào)的概念 172
7.1.2 Linux系統(tǒng)支持的信號(hào)集 172
7.1.3 信號(hào)的捕獲與處理 174
7.1.4 信號(hào)掩碼 176
7.1.5 sigaction系統(tǒng)調(diào)用 177
7.1.6 pause系統(tǒng)調(diào)用 179
7.2 管道 179
7.2.1 管道的概念 179
7.2.2 創(chuàng)建管道 180
7.2.3 其他相關(guān)的系統(tǒng)調(diào)用 181
7.3 消息隊(duì)列 183
7.3.1 消息隊(duì)列的數(shù)據(jù)結(jié)構(gòu) 183
7.3.2 有關(guān)的系統(tǒng)調(diào)用 184
7.4 共享內(nèi)存 188
7.4.1 共享內(nèi)存的創(chuàng)建 189
7.4.2 有關(guān)的系統(tǒng)調(diào)用 191
7.5 信號(hào)量 194
7.5.1 信號(hào)量的基本概念 194
7.5.2 POSIX無名信號(hào)量 195
7.5.3 system V信號(hào)量 196
7.5.4 用信號(hào)量解決互斥問題 201
7.6 小結(jié)與練習(xí) 204
7.6.1 小結(jié) 204
7.6.2 習(xí)題與思考 205
第8章 高級(jí)套接字函數(shù) 207
8.1 函數(shù)recv和send 208
8.1.1 send的用法 208
8.1.2 recv的用法 209
8.2 函數(shù)readv和writev 211
8.3 函數(shù)recvfrom和sendto 214
8.4 函數(shù)recvmsg和sendmsg 214
8.5 套接字的關(guān)閉 216
8.5.1 用close函數(shù)關(guān)閉套接字 216
8.5.2 shutdown函數(shù)的使用 216
8.6 小結(jié)與練習(xí) 218
8.6.1 小結(jié) 218
8.6.2 習(xí)題與思考 218
第9章 系統(tǒng)I/O與服務(wù)器模型 219
9.1 系統(tǒng)I/O模型簡介 220
9.2 阻塞與非阻塞 221
9.2.1 阻塞套接字的特點(diǎn) 221
9.2.2 阻塞式I/O實(shí)現(xiàn)超時(shí)控制 226
9.2.3 非阻塞套接字 227
9.3 多路復(fù)用的I/O模型 231
9.3.1 多路復(fù)用簡介 231
9.3.2 select函數(shù) 232
9.3.3 多路復(fù)用I/O的應(yīng)用實(shí)例 234
9.4 信號(hào)驅(qū)動(dòng)的I/O模型 244
9.5 創(chuàng)建Linux網(wǎng)絡(luò)服務(wù)器 246
9.5.1 TCP循環(huán)服務(wù)器 246
9.5.2 TCP并發(fā)服務(wù)器 247
9.5.3 UDP循環(huán)服務(wù)器 247
9.5.4 UDP并發(fā)服務(wù)器 248
9.5.5 多路復(fù)用I/O并發(fā)服務(wù)器 249
9.5.6 一個(gè)TCP并發(fā)服務(wù)器實(shí)例 249
9.6 小結(jié)與練習(xí) 252
9.6.1 小結(jié) 252
9.6.2 習(xí)題與思考 252
第10章 帶外數(shù)據(jù) 253
10.1 帶外數(shù)據(jù)概述 254
10.2 帶外數(shù)據(jù)的發(fā)送與接收 255
10.2.1 帶外數(shù)據(jù)標(biāo)志 255
10.2.2 發(fā)送帶外數(shù)據(jù) 256
10.2.3 接收帶外數(shù)據(jù) 257
10.2.4 應(yīng)用程序?qū)鈹?shù)據(jù)的處理 259
10.2.5 帶外數(shù)據(jù)的覆蓋 259
10.3 發(fā)送帶外數(shù)據(jù)應(yīng)用實(shí)例 260
10.4 幾種接收帶外數(shù)據(jù)的方法 263
10.4.1 通過信號(hào)SIGURG接收帶外數(shù)據(jù) 263
10.4.2 通過多路復(fù)用模型接收帶外數(shù)據(jù) 267
10.4.3 通過檢測帶外標(biāo)識(shí)接收帶外數(shù)據(jù) 269
10.5 帶外數(shù)據(jù)的覆蓋實(shí)例 273
10.6 小結(jié)與練習(xí) 278
10.6.1 小結(jié) 278
10.6.2 習(xí)題與思考 279
第3篇 深入實(shí)例篇
第11章 多線程編程 283
11.1 線程的基本概念 284
11.1.1 什么是線程 285
11.1.2 采用多線程的優(yōu)點(diǎn) 285
11.1.3 線程的結(jié)構(gòu)一覽 286
11.1.4 多線程的標(biāo)準(zhǔn) 288
11.2 線程的相關(guān)調(diào)用 289
11.2.1 創(chuàng)建線程的函數(shù) 289
11.2.2 退出線程的函數(shù) 290
11.2.3 創(chuàng)建線程的簡單實(shí)例 290
11.2.4 其他相關(guān)的函數(shù)調(diào)用 292
11.3 線程間的互斥 298
11.3.1 線程互斥的概念 298
11.3.2 相關(guān)的函數(shù)調(diào)用 299
11.4 線程的同步 303
11.4.1 線程同步的概念 303
11.4.2 相關(guān)的函數(shù)調(diào)用 303
11.5 線程的特定數(shù)據(jù)區(qū) 307
11.5.1 線程特定數(shù)據(jù)區(qū)概念 307
11.5.2 相關(guān)的函數(shù)調(diào)用 308
11.5.3 線程特定數(shù)據(jù)使用的方法 310
11.6 一個(gè)多線程掃描端口的實(shí)例 311
11.7 小結(jié)與練習(xí) 316
11.7.1 小結(jié) 316
11.7.2 習(xí)題與思考 316
第12章 原始套接字編程 319
12.1 原始套接字概述 320
12.2 創(chuàng)建原始套接字 320
12.3 發(fā)送和接收數(shù)據(jù)包 322
12.4 產(chǎn)生欺騙的IP數(shù)據(jù)包 323
12.5 Ping應(yīng)用程序分析 327
12.5.1 Ping命令的功能 327
12.5.2 Ping程序的設(shè)計(jì)實(shí)現(xiàn) 328
12.5.3 Ping命令攻擊目標(biāo)機(jī)器 334
12.6 小結(jié)與練習(xí) 337
12.6.1 小結(jié) 337
12.6.2 習(xí)題與思考 337
第13章 綜合實(shí)例——網(wǎng)絡(luò)業(yè)務(wù)系統(tǒng)模擬 339
13.1 銀行業(yè)務(wù)系統(tǒng)背景 340
13.1.1 銀行業(yè)務(wù)系統(tǒng)遵循的原則 340
13.1.2 銀行業(yè)務(wù)系統(tǒng)的特點(diǎn) 340
13.2 總體設(shè)計(jì)方案 341
13.2.1 系統(tǒng)構(gòu)成 341
13.2.2 功能說明 342
13.3 詳細(xì)設(shè)計(jì)方案(網(wǎng)絡(luò)編程部分) 343
13.3.1 系統(tǒng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖 343
13.3.2 程序流程介紹 344
13.3.3 功能模塊的劃分 345
13.4 源代碼解析 346
13.4.1 相關(guān)的頭文件 346
13.4.2 公用函數(shù)的說明 349
13.4.3 地市服務(wù)器通信模塊 361
13.4.4 與對方前置機(jī)通信模塊 378
13.4.5 前置機(jī)處理模塊 395
13.5 小結(jié)與練習(xí) 417
13.5.1 小結(jié) 417
13.5.2 習(xí)題與思考 418
附錄 部分習(xí)題參考答案 419

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    Linux網(wǎng)絡(luò)編程技術(shù) PDF格式下載


用戶評(píng)論 (總計(jì)0條)

 
 

 

250萬本中文圖書簡介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7