登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

『簡體書』TCP/IP网络编程原理与技术

書城自編碼: 3389357
分類: 簡體書→大陸圖書→教材研究生/本科/专科教材
作者: 钟辉,臧晗,董洁,宋凯,孟祥宇 ,高野
國際書號(ISBN): 9787302526025
出版社: 清华大学出版社
出版日期: 2019-06-01


書度/開本: 16开 釘裝: 平装

售價:NT$ 246

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
纷纭万端 : 近代中国的思想与社会
《 纷纭万端 : 近代中国的思想与社会 》

售價:NT$ 500.0
中国古代文体形态研究(第四版)(中华当代学术著作辑要)
《 中国古代文体形态研究(第四版)(中华当代学术著作辑要) 》

售價:NT$ 765.0
朋党之争与北宋政治·大学问
《 朋党之争与北宋政治·大学问 》

售價:NT$ 454.0
甲骨文丛书·波斯的中古时代(1040-1797年)
《 甲骨文丛书·波斯的中古时代(1040-1797年) 》

售價:NT$ 403.0
以爱为名的支配
《 以爱为名的支配 》

售價:NT$ 286.0
台风天(大吴作品,每一种生活都有被看见的意义)
《 台风天(大吴作品,每一种生活都有被看见的意义) 》

售價:NT$ 245.0
打好你手里的牌(斯多葛主义+现代认知疗法,提升当代人的心理韧性!)
《 打好你手里的牌(斯多葛主义+现代认知疗法,提升当代人的心理韧性!) 》

售價:NT$ 301.0
新时代硬道理 广东寻路高质量发展
《 新时代硬道理 广东寻路高质量发展 》

售價:NT$ 352.0

編輯推薦:
1. 从应用互联网的角度讲解网络编程的基本概念和原理,用实例引出概念,用应用引出方法,用案例引出原理。
2. 在*基本的、*原始的操作系统上讲解计算机之间的通信过程,使用*原始的进程概念解释网络编程的细节和步骤。
3. 用*易懂的语言输入输出功能讲解复杂的网络通信编程原理,用*基本的客户机服务器概念来概括说明网络编程的方法和步骤。
內容簡介:
Internet是世界上*的计算机互连网络,TCPIP是Internet上使用*为成熟的协议。本书重点介绍用TCPIP进行编程的主要原理和编程环境,并举出实例来解释这些编程原理和概念。
网络中*基本的通信基础是客户服务器模式,它在计算机通信中占主导地位。本书内容主要包括客户服务器各部件的功能,还说明了如何构建客户和服务器软件。介绍了客户服务器模式的基本概念,TCPIP协议提供传输数据的基本机制;如何在TCPIP环境下组织编写应用程序;计算机网络通信程序的构建方法;从而进一步了解在网络环境下构建分布式程序。
全书共分13章: 第1章着重介绍网络编程的目标和准备工作;第2章和第3章着重介绍客户服务器的概念以及并发处理存在的主要问题和应用;第4章和第5章基于Linux操作系统介绍套接字接口的概念和封装的系统调用函数;第6章介绍客户程序设计方法和需要注意的细节问题;第7章介绍了各种典型服务器的设计方法,需要注意的问题和细节;第8章和第9章介绍单线程编写并发程序的方法和应用条件;第10~12章介绍多服务、多协议服务器设计方法和并发管理过程;第13章介绍客户并发设计的方法和使用条件。全书提供了大量应用实例,每章后均附有习题。
本书适合作为高等院校计算机、软件工程、信息管理等专业高年级本科生、研究生的教材,也可供对TCPIP比较熟悉并且对网络编程有所了解的开发人员、广大科技工作者和研究人员参考。
目錄
目录
第1章网络编程准备1
1.1TCPIP技术的因特网应用1
1.2用TCPIP构建分布式环境设计应用程序2
1.3用TCPIP构建的标准和非标准应用协议2
1.4使用TCPIP标准应用协议的例子2
1.5Telnet连接的例子3
1.6使用Telnet访问其他服务4
1.7TCPIP应用协议和软件灵活性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并发和异步IO27
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中提供的基本IO功能32
4.8将Linux IO用于TCPIP33
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
內容試閱
前言
随着Internet的发展,网络技术已经渗透到人们的生活和工作中。TCPIP已经成为最流行的网络协议,且还在演变以满足未来的需要。在速度越来越快的计算机硬件和不断更新的软件发展的背后,TCPIP在任何类型的硬件上都很容易实现和编写应用程序。网络作为中枢神经把世界连在一起。也正是因为网络的出现与发展,编写网络应用程序的程序员和工程师也在不断增加。TCPIP网络编程看起来非常简单,应用程序接口(application program interface,API)十分易懂。即使初学者也可以使用现代高级语言抽象的客户服务器程序模板来编写应用程序。但是发现初学者在经历了最初的高效编程之后,在软件设计细节面前开始停滞不前,同时发现他们编写的程序正在遭受性能和健壮性的考验,在灵活使用客户服务器模式解决应用问题过程中,缺乏对程序运行可靠性、并发控制、容错等方面的解决方法,造成程序运行不稳定甚至错误。网络编程完全不同于常规的单机编程,每个程序运行都要受网络上其他在线程序的控制和干扰。网络编程是一个充满黑暗角落的领域,一些细节有可能会被错误理解。如果停留在高层语言抽象环境里编程,永远不能掌握客户服务器的实质与精髓。本书对TCPIP网络编程最精细的基本理论和概念进行了分析和介绍,能照亮读者编程中黑暗的角落并帮助其改正错误。
通过本书的介绍,读者会透彻理解网络编程的许多难点。本书详细介绍了客户服务器编程的所有细节。通过对这些细节的理解,读者将获得相应的知识,即网络协议的内部工作机制如何与应用程序交互。因而对那些以前看起来令人困惑的程序行为就会变得很容易理解,解决问题的办法就会变得很清晰。本书面向套接字的网络编程学习者,只要掌握最基础的C语言编程实例和概念,就能掌握最基本的客户服务器编程细节,更能方便在学习了C之后,掌握面向对象高级封装环境的网络编程过程。掌握相关的网络协议知识以及操作系统的基础知识将有助于客户服务器编程。本书针对网络编程的初学者,首先强调基本概念和原理的掌握,加强所有章节示例的可读性,然后才考虑代码的优化问题。本书适合所有希望学习Linux的网络编程的读者。Linux操作系统是早期的网络编程环境,对于该环境的掌握就不难了解Windows环境的网络编程,因为Windows操作系统的网络编程环境也是来自于UNIX操作系统的移植,所以使用任何操作系统都不会有问题。网络编程的特点决定了同时学习两种操作系统平台的网络编程是最有效的学习方法。不必为学习本书的内容而特意掌握Linux和Windows两种操作系统的操作方法,只需要了解各自的编译方法即可。本书主要介绍了Linux平台下的套接字函数和调用方法,所有示例程序都是在Linux平台下实现的。
作为一名长期从事计算机网络相关课程教学的教师,作者一直在考虑这样一个问题: 怎样用有限的课堂教学时间为学生系统地讲授网络编程的基本概念、基本原理和应用?教材是教学过程中使用的主要资料,是教与学的主要内容依据,所以一本好的教材应科学、合理地覆盖本门课程的知识,具有严谨的总体结构和章节安排,内容应详略得当且能够突出重点。同时,编写教材的人员也应该注意本门课程与操作系统、C语言课程之间的联系,解决好课程之间的衔接。作者认为编写网络编程教材应有如下的要求: 第一,应具备丰富的实践经验,对自己的专业有深刻的理解;第二,应具备丰富的教学经验,能够把握学生的学习规律,并力求将深奥的理论叙述和讲解简单化;第三,应具备对知识的归纳和总结能力,并具有良好的写作功底,能够将知识阐述得准确、清晰。一本好的教材必须经过精心规划和设计。本书在出版前其内容已经在多年的教学过程中讲授过,作者对内容进行了多次调整和增减,增加了大量易于操作和实验内容。
本书的内容特色是在介绍每一类服务器算法时都增加了配套的示例和讲解过程,并配有源代码和运行结果。让读者可以通过代码运行理解客户服务器算法的实现过程,了解客户服务器的结构。尤其是通信代码的交互过程,它是网络编程的难点所在,特意强调在各种应用过程中使用套接字通信交互的理解和使用。其次强调了并发服务器的编写,它也是服务器编写的难点之一。
本书共分为13章: 第1~5章主要介绍网络编程的主要概念客户服务器、并发程序、套接字接口及其API;第6章介绍客户编程的基本概念和存在的主要问题,举出实例讲解客户编程的一般方法,隐藏细节的过程库,重点介绍了TCP和UDP的客户编程;第7章介绍服务器编程的基本概念和需要解决的问题,举例说明四大类服务器编写的代码示例,重点说明并发服务器的设计方法;第8章和第9章介绍单线程实现并发程序的设计及其应用场景;第10~12章介绍多服务、多协议服务器设计方法和原理,以及并发性管理;第13章介绍客户并发设计的原理和应用场景。
在本书的编写过程中,得到教学团队同事的大力支持和帮助,借此机会向他们表示衷心的感谢!本书由钟辉统筹全书章节内容和框架,并校对所有章节内容。第1~5章由董洁、臧晗编写,并进行了代码实验操作验证,总结实验步骤和遇到的问题;第6章和第7章由钟辉编写,孟祥宇、高野编写实例代码进行实验验证,总结实验代码所遇到的问题;第8章和第9章由宋凯、孟祥宇编写,高野进行了代码实验验证;第10~12章由钟辉、董洁编写,臧晗编写实例代码进行实验验证,并总结出现的问题。
计算机软硬件与互联技术发展迅速,限于作者的学识和时间,本书难免有错误与不妥之处,恳请读者批评指正,作者将万分感谢。
编者2018年8月于沈阳

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.