TOP
0
0
魅麗。花火原創小說66折起
TCP/IP網絡編程原理與技術(簡體書)
滿額折

TCP/IP網絡編程原理與技術(簡體書)

人民幣定價:39 元
定  價:NT$ 234 元
優惠價:87204
領券後再享88折
無庫存,下單後進貨(採購期約45個工作天)
可得紅利積點:6 點
相關商品
商品簡介
目次

商品簡介

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

目次

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

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 204
無庫存,下單後進貨
(採購期約45個工作天)

暢銷榜

客服中心

收藏

會員專區