注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡網(wǎng)絡與數(shù)據(jù)通信TCP/IP網(wǎng)絡編程原理與技術

TCP/IP網(wǎng)絡編程原理與技術

TCP/IP網(wǎng)絡編程原理與技術

定 價:¥39.00

作 者: 鐘輝,臧晗,董潔,宋凱,孟祥宇 著
出版社: 清華大學出版社
叢編項: 計算機系列教材
標 簽: 暫缺

ISBN: 9787302526025 出版時間: 2019-06-01 包裝: 平裝
開本: 16開 頁數(shù): 191 字數(shù):  

內(nèi)容簡介

  Internet是世界上z大的計算機互連網(wǎng)絡,TCP/IP是Internet上使用z為成熟的協(xié)議。本書重點介紹用TCP/IP進行編程的主要原理和編程環(huán)境,并舉出實例來解釋這些編程原理和概念。 網(wǎng)絡中最基本的通信基礎是客戶服務器模式,它在計算機通信中占主導地位。本書內(nèi)容主要包括客戶服務器各部件的功能,還說明了如何構建客戶和服務器軟件。介紹了客戶服務器模式的基本概念,TCP/IP協(xié)議提供傳輸數(shù)據(jù)的基本機制;如何在TCP/IP環(huán)境下組織編寫應用程序;計算機網(wǎng)絡通信程序的構建方法;從而進一步了解在網(wǎng)絡環(huán)境下構建分布式程序。 全書共分13章: 第1章著重介紹網(wǎng)絡編程的目標和準備工作;第2章和第3章著重介紹客戶服務器的概念以及并發(fā)處理存在的主要問題和應用;第4章和第5章基于Linux操作系統(tǒng)介紹套接字接口的概念和封裝的系統(tǒng)調(diào)用函數(shù);第6章介紹客戶程序設計方法和需要注意的細節(jié)問題;第7章介紹了各種典型服務器的設計方法,需要注意的問題和細節(jié);第8章和第9章介紹單線程編寫并發(fā)程序的方法和應用條件;第10~12章介紹多服務、多協(xié)議服務器設計方法和并發(fā)管理過程;第13章介紹客戶并發(fā)設計的方法和使用條件。全書提供了大量應用實例,每章后均附有習題。 本書適合作為高等院校計算機、軟件工程、信息管理等專業(yè)高年級本科生、研究生的教材,也可供對TCP/IP比較熟悉并且對網(wǎng)絡編程有所了解的開發(fā)人員、廣大科技工作者和研究人員參考。

作者簡介

暫缺《TCP/IP網(wǎng)絡編程原理與技術》作者簡介

圖書目錄

目錄
第1章網(wǎng)絡編程準備1
1.1TCP/IP技術的因特網(wǎng)應用1
1.2用TCP/IP構建分布式環(huán)境設計應用程序2
1.3用TCP/IP構建的標準和非標準應用協(xié)議2
1.4使用TCP/IP標準應用協(xié)議的例子2
1.5Telnet連接的例子3
1.6使用Telnet訪問其他服務4
1.7TCP/IP應用協(xié)議和軟件靈活性5
1.8從提供者的角度看服務5
1.9本教材內(nèi)容介紹6
1.10小結6
習題6第2章客戶服務器模式軟件設計概念8
2.1客戶服務器的起源8
2.2客戶服務器關鍵問題9
2.3客戶服務器術語9
2.3.1客戶和服務器10
2.3.2服務器特權和復雜性10
2.3.3標準和非標準客戶軟件10
2.3.4客戶的參數(shù)化11
2.3.5無連接的和面向連接的服務器11
2.3.6無狀態(tài)和有狀態(tài)服務器12
2.3.7無狀態(tài)文件服務器的例子13
2.3.8有狀態(tài)文件服務器的例子13
2.3.9客戶標識14
2.3.10無狀態(tài)是一個協(xié)議問題15
2.3.11充當客戶的服務器16
2.4小結16
習題17第3章客戶服務器模式軟件中的并發(fā)處理18
3.1引言18
3.2網(wǎng)絡中的并發(fā)18
3.3服務器中的并發(fā)19
3.4并發(fā)術語20
3.4.1進程概念20
3.4.2局部和全局變量的共享21
3.4.3過程調(diào)用22
3.5一個創(chuàng)建并發(fā)進程的例子22
3.5.1一個順序執(zhí)行的C實例22
3.5.2程序的并發(fā)版本23
3.5.3時間分片24
3.5.4單線程的進程25
3.5.5使各進程分離25
3.6執(zhí)行新的代碼26
3.7上下文切換和協(xié)議軟件設計27
3.8并發(fā)和異步I/O27
3.9小結28
習題28第4章網(wǎng)絡編程協(xié)議的程序接口29
4.1引言29
4.2不精確指明的協(xié)議軟件編程接口29
4.3接口功能30
4.4概念性接口的規(guī)范30
4.5操作系統(tǒng)調(diào)用31
4.6網(wǎng)絡通信的兩種基本方法31
4.7Linux中提供的基本I/O功能32
4.8將Linux I/O用于TCP/IP33
4.9小結33
習題33第5章接口實現(xiàn)——套接字API35
5.1引言35
5.2Berkeley套接字35
5.3指明一個協(xié)議接口35
5.4套接字的抽象36
5.4.1套接字描述符和文件描述符36
5.4.2針對套接字的系統(tǒng)數(shù)據(jù)結構37
5.4.3主動套接字或被動套接字37
5.5指明端點地址38
5.6類屬地址結構39
5.7套接字API中的主要系統(tǒng)調(diào)用40
5.7.1socket調(diào)用40
5.7.2connect調(diào)用40
5.7.3send調(diào)用41
5.7.4recv調(diào)用41
5.7.5close調(diào)用41
5.7.6bind調(diào)用41
5.7.7listen調(diào)用42
5.7.8accept調(diào)用42
5.7.9在套接字中使用read和write42
5.7.10套接字調(diào)用小結42
5.8用于整數(shù)轉換的實用例程43
5.9在程序中使用套接字調(diào)用44
5.10套接字調(diào)用的參數(shù)所使用的符號常量44
5.11小結45
習題46第6章客戶軟件算法及編程實例47
6.1引言47
6.2不是研究細節(jié)而是學習算法47
6.3客戶體系結構和要解決的問題48
6.3.1標識服務器的位置48
6.3.2分析地址參數(shù)49
6.3.3查找域名50
6.3.4由名字查找某個熟知端口51
6.3.5端口號和網(wǎng)絡字節(jié)順序51
6.3.6由名字查找協(xié)議51
6.4TCP客戶算法52
6.4.1分配套接字52
6.4.2選擇本地協(xié)議端口號53
6.4.3選擇本地IP地址中的一個基本問題53
6.4.4將TCP套接字連接到某個服務器54
6.4.5使用TCP與服務器通信54
6.4.6從TCP連接中讀取響應55
6.4.7關閉TCP連接55
6.5UDP客戶算法56
6.5.1連接的和非連接的UDP套接字57
6.5.2對UDP使用connect57
6.5.3使用UDP與服務器通信57
6.5.4關閉使用UDP的套接字57
6.5.5對UDP的部分關閉58
6.5.6關于UDP不可靠性的警告58
6.6客戶編程實例的重要性58
6.7隱藏細節(jié)59
6.8針對客戶程序的過程庫59
6.8.1connectTCP的實現(xiàn)60
6.8.2connectUDP的實現(xiàn)60
6.8.3構成連接的過程61
6.9過程庫使用63
6.10DAYTIME服務63
6.10.1針對DAYTIME的TCP客戶實現(xiàn)64
6.10.2從TCP連接中進行讀65
6.11TIME服務66
6.12訪問TIME服務66
6.13精確時間和網(wǎng)絡時延67
6.14針對TIME服務的UDP客戶67
6.15ECHO服務69
6.16針對ECHO服務的TCP客戶69
6.17針對ECHO服務的UDP客戶71
6.18小結72
習題74第7章服務器軟件算法及編程實例76
7.1引言76
7.2概念性的服務器算法76
7.3并發(fā)服務器和循環(huán)服務器76
7.4面向連接的和無連接的訪問77
7.5服務器需要考慮的幾個問題77
7.5.1傳輸層協(xié)議的語義77
7.5.2選擇傳輸協(xié)議78
7.5.3面向連接的服務器78
7.5.4無連接的服務器79
7.5.5服務器的故障、可靠性和無狀態(tài)80
7.5.6優(yōu)化無狀態(tài)服務器80
7.5.7請求處理時間82
7.6服務器的四種基本類型82
7.7循環(huán)服務器的算法83
7.8循環(huán)的、面向連接的服務器的算法83
7.8.1用INADDR_ANY綁定熟知端口83
7.8.2將套接字置于被動模式84
7.8.3接受連接并使用這些連接84
7.9循環(huán)的、無連接的服務器的算法84
7.10并發(fā)服務器的算法85
7.11并發(fā)的、無連接的服務器的算法86
7.12并發(fā)的、面向連接的服務器的算法86
7.12.1服務器并發(fā)性的實現(xiàn)87
7.12.2把單獨的程序作為從進程來使用87
7.13使用單線程獲得表面上的并發(fā)性88
7.14各服務器類型所適用的場合89
7.15服務器類型小結89
7.16重要問題——服務器死鎖90
7.17其他的實現(xiàn)方法90
7.18循環(huán)的、無連接的服務器設計91
7.18.1創(chuàng)建被動套接字91
7.18.2進程結構94
7.18.3TIME服務器舉例94
7.18.4小結96
7.19循環(huán)的、面向連接的服務器設計96
7.19.1分配被動的TCP套接字96
7.19.2用于DAYTIME服務的服務器97
7.19.3進程結構97
7.19.4DAYTIME服務器舉例98
7.19.5關閉連接100
7.19.6連接終止和服務器的脆弱性100
7.19.7小結101
7.20并發(fā)的、面向連接的服務器設計101
7.20.1并發(fā)ECHO102
7.20.2循環(huán)與并發(fā)實現(xiàn)的比較102
7.20.3進程結構102
7.20.4并發(fā)ECHO服務器舉例103
7.20.5清除游離(errant)進程106
7.20.6小結106
7.21小結107
習題107第8章使用線程模型實現(xiàn)并發(fā)110
8.1引言110
8.2Linux線程概述110
8.3線程和進程的關系111
8.3.1描述符、延遲和退出111
8.3.2線程退出112
8.4線程協(xié)調(diào)和同步112
8.4.1互斥112
8.4.2信號量113
8.4.3條件變量113
8.5使用線程的服務器實例114
8.6監(jiān)控117
8.7小結118
習題118第9章單線程并發(fā)服務器設計119
9.1引言119
9.2服務器中的數(shù)據(jù)驅動處理119
9.3用單線程進行數(shù)據(jù)驅動處理120
9.4單線程服務器的線程結構120
9.5單線程ECHO服務器舉例121
9.6小結123
習題124第10章多協(xié)議服務器設計125
10.1引言125
10.2減少服務器數(shù)量的動機125
10.3多協(xié)議服務器的設計125
10.4進程結構126
10.5多協(xié)議DAYTIME服務器的例子126
10.6共享代碼的概念129
10.7并發(fā)多協(xié)議服務器130
10.8小結130
習題130第11章多服務服務器設計132
11.1引言132
11.2合并服務器132
11.3循環(huán)的、無連接的、多服務服務器設計132
11.4循環(huán)的、面向連接的、多服務服務器設計133
11.5并發(fā)的、面向連接的、多服務服務器設計134
11.6并發(fā)的、單線程的、多服務服務器的實現(xiàn)135
11.7從多服務服務器調(diào)用單獨的程序135
11.8多服務、多協(xié)議服務器設計136
11.9多服務服務器的例子137
11.10靜態(tài)的和動態(tài)的服務器配置143
11.11UNIX超級服務器——inetd144
11.12inetd服務器的例子146
11.13小結147
習題148第12章服務器并發(fā)性管理149
12.1引言149
12.2在循環(huán)設計和并發(fā)設計間選擇149
12.3并發(fā)等級150
12.4需求驅動的并發(fā)150
12.5并發(fā)的代價150
12.6額外開銷和時延151
12.7小時延問題151
12.8從線程/進程的預分配152
12.8.1Linux中的預分配153
12.8.2面向連接的服務器中的預分配153
12.8.3互斥、文件鎖定和accept并發(fā)調(diào)用154
12.8.4無連接的服務器中的預分配155
12.8.5預分配、突發(fā)通信量和NFS155
12.8.6多處理器上的預分配156
12.9延遲的從線程/進程分配156
12.10兩種技術統(tǒng)一的基礎157
12.11技術的結合157
12.12小結158
習題158第13章客戶軟件并發(fā)設計160
13.1引言160
13.2并發(fā)的優(yōu)點160
13.3運用控制的動機160
13.4與多個服務器的并發(fā)聯(lián)系161
13.5實現(xiàn)并發(fā)客戶162
13.6單線程實現(xiàn)162
13.7使用ECHO的并發(fā)客戶的例子163
13.8并發(fā)客戶的執(zhí)行167
13.9例子代碼中的并發(fā)性169
13.10小結169
習題169附錄A系統(tǒng)調(diào)用與套接字使用的庫例程170參考文獻192

本目錄推薦

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