网络编程实用教程课后习题(完整版)【段利国主编】Word下载.docx
- 文档编号:13118777
- 上传时间:2022-10-05
- 格式:DOCX
- 页数:17
- 大小:1.13MB
网络编程实用教程课后习题(完整版)【段利国主编】Word下载.docx
《网络编程实用教程课后习题(完整版)【段利国主编】Word下载.docx》由会员分享,可在线阅读,更多相关《网络编程实用教程课后习题(完整版)【段利国主编】Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
端口是TCP/IP协议族中,应用层进程与传输层协议实体间的通信接口。
TCP/IP协议采用了全局分配(静态分配)和本地分配(动态分配)相结合的分配方法。
对于TCP或者UDP,将它们的全部65535个端口号分为保留端口号和自由端口号两部分。
保留端口的范围是0—1023,又称为众所周知的端口或熟知端口,其余的端口号1024-65535,称为自由端口号,采用本地分配,又称为动态分配的方法。
总之,TCP或UDP端口的分配规则是:
端口0不使用,或者作为特殊的使用;
端口1-255保留给特定的服务,TCP和UDP均规定,小于256的端口号才能分配给网上著名的服务;
端口256-1023保留给其他的服务,如路由;
端口1024-4999可以用作任意客户的端口;
端口5000-65535可以用作用户的服务器端口。
5.什么是网络应用进程的网络地址?
说明三元组和五元组的概念。
应用层进程地址=(传输层协议,主机的IP地址,传输层的端口号),它标识了因特网中,进程间通信的一个端点,也把它称为进程的网络地址。
(传输层协议,主机的IP地址,传输层的端口号),这样一个三元组,叫做一个半相关(half-association)。
(传输层协议,本地机IP地址,本地机传输层端口,远地机IP地址,远地机传输层端口),五元组称为一个全相关(association)。
即两个协议相同的半相关才能组合成一个合适的全相关,或完全指定一对网间通信的进程。
6.举例说明面向消息的协议与基于流动协议有什么不同。
例如甲向乙发送三个消息,分别是:
128、64和32字节。
面向消息的协议中,如果接受缓冲区是256字节,足以接收3条消息,且这三条消息全部达到。
乙仍然需要发送3条读取消息。
分别返回128、64、32字节,而不用一次读取来调用者单个数据包。
基于流的消息协议中,在接收端乙的堆栈把所有进来的消息数据包聚集在一起,放入堆栈,等待应用进程读取。
进程发送读取命令,指定了进程接收缓冲区,如果进程缓冲区有256字节,系统马上返回全部224字节。
7.TCP提供的服务有哪些特征?
应用层进程提供一个面向连接的、端到端的、完全可靠的(无差错、无丢失、无重复或失序)全双工的流传输服务。
允许网络中的两个应用程序建立一个虚拟的链接,在任何一个方向上发送数据,把数据当作一个双向字节流进行交换,最后终止连接。
8.简要说明三类网络编程。
基于WWW应用的网络编程技术,包括所见即所得的网页制作工具,和动态服务器页面的制作技术。
.NET平台有四组产品①开发工具②专用服务器③Web服务④设备。
MS.NET顺应了软件工业的趋势,包括4个方面:
①分布式计算②组件化③企业级别的服务④WEB范型转移。
.NET平台由三层软件构成:
①顶层是全新的开发工具VS.NET,②中间层包括三部分:
.NET服务器、.NET服务构件和.NET框架。
③底层是WINDOWS操作系统。
Web服务是松散耦合的可复用的软件模块,在Internet上发布后,能通过标准的Internet 协议在程序中访问,具有以下的特点:
①可复用②松散耦合③封装了离散④Web服务可以在程序中访问⑤Web服务在Internet上发布
9.说明C/S模式的概念、工作过程和特点。
C/S模式即客户机/服务器模式,是应用程序最常用的通信模式。
服务器的工作过程是:
(1)打开一通信通道,并告知服务器所在的主机,它愿意在某一公认的地址上接收客户请求。
(2)等待客户的请求到达该端口。
(3)服务器接收到服务请求,处理该请求并发送应答信号。
为了能并发地接收多个客户的服务请求,要激活一个新进程或新线程来处理这个客户请求(如UNIX系统中用fork、exec)。
服务完成后,关闭此新进程与客户的通信链路,并终止。
(4)返回第二步,等待并处理另一客户请求。
(5)在特定的情况下,关闭服务器。
客户方工作过程:
(1)打开一通信通道,并连接到服务器所在主机的特定监听端口。
(2)向服务器发送请求报文,等待并接收应答;
继续提出请求,与服务器的会话按照应用协议进行。
(3)请求结束后,关闭通信通道并终止。
特点:
(1)客户和服务器都是软件进程,C/S模式是网络上通过进程通信建立分布式应用的常用模型。
(2)非对称性:
服务器通过网络提供服务,客户通过网络使用服务,这种不对称性体现在软件结构和工作过程上。
(3)对等性:
客户和服务器必有一套共识的约定,必与以某种应用层协议相联,并且协议必须在通信的两端实现。
(4)服务器的被动性:
服务器必须先行启动,时刻监听,及时服务,只要有客户请求,就立即处理并响应,回传信息。
但决不主动提供服务。
(5)客户机的主动性:
客户机可以随时提出请求,通过网络得到服务,也可以关机走人,一次请求与服务的过程是由客户机首先激发的。
(6)一对多:
一个服务器可以为多个客户机服务,客户机也可以打开多个窗口,连接多个服务器。
(7)分布性与共享性:
资源在服务器端组织与存储,通过网络分散在多个客户端使用。
10.说明用户和客户机,服务器和服务器类计算机的区别。
“客户”(client) 和服务器都指的是应用进程,即计算机软件。
“用户”(user)指的是使用计算机的人。
服务器(server)这个术语来指那些运行着的服务程序。
服务器类计算机(server-classcomputer)这一术语来称呼那些运行服务器软件的强大的计算机。
11.说明p2p模式的定义及特征
定义:
P2P技术就是一种在计算机之间直接进行资源和服务的共享,不需要服务器介入的网络技术。
在P2P网络中,每台计算机同时充当着server和client的角色,当需要其他计算机的文件和服务时,两台计算机直接建立连接,本机是client;
而当响应其他计算机的资源要求时,本机又成为提供资源与服务的server。
特征:
(1)分散性
(2)规模性(3)扩展性(4)server性(5)自治性(6)互助性(7)自组织性
第二章
1.试述套接字编程接口的起源与应用情况
最早的套接字规范是有美国Berkeley大学开发的,当时的环境是Unix操作系统,使用tcp/ip。
这个规范规定了一系列与套接字使用有关的函数库,为在Unix操作系统下不同计算机中的应用程序进程之间,使用tcp/ip协议蔟进行网络通信提供了一套应用程序编程接口,这个规范得以实现并广泛流传,在开发各种网络应用中广泛使用。
2.实现套接字编程接口的两种方式是什么?
一种是在操作系统的内核中增加相应的软件来实现,一种是通过开发操作系统之外的函数库来实现。
3.套接字通信与Unix操作系统的输入输出关系是什么?
①操作的过程是类似的,套接字沿用了大多数I/O所使用的打开-读-写-关闭模式:
先创建套接字,然后使用它,最后删除它
②操作的方法是类似的。
操作系统为文件、设备、进程通信和网络通信提供单独的一组描述符
③使用的过程的名字可以是相同的,像read和write之类的过程相当通用,应用程序可以用同一个write过程将数据发给另一个程序、另一个文件或网络中的另一个进程。
4.什么是套接字?
是应用程序通过网络协议栈进行通信交互的接口。
5.说明套接字特点。
(1)通信域。
套接字通常只和同一域中的套接字交换数据。
如果数据交换要穿越域的边界,就一定要执行某种解释程序。
(2)套接字有三种类型:
流式、数据包和原始套接字。
(3)套接字由应用层创建,并为其服务,而后被释放。
(4)使用确定的IP地址和传输层端口号。
6.说明套接字应用场合。
(1)不管是采用对等模式或者客户机/服务器模式,通信双方的应用程序都需要开发。
(2)双方所交换数据的结构和交换数据的顺序有特定的要求,不符合现在成熟的应用层协议,甚至需要自己去开发应用层协议,自己设计最适合的数据结构和信息交换规程。
7.说明本机字节顺序和网络字节顺序的概念。
在具体计算机中的多字节数据的存储顺序,称为本机字节顺序。
多字节数据在网络协议报头中的存储顺序,称为网络字节顺序。
8.流式套接口的工作过程
9.什么是阻塞问题?
如何对应?
答:
阻塞是指一个进程执行了一个函数或者系统调用,该函数由于某种原因不能立即完成,因而不能返回调用它的进程,导致进程受控于这个函数而处于等待的状态,进程的这种状态称为阻塞。
利用UNIX操作系统的FORK()系统调用,编制多进程并发执行的服务器程序。
10.能引起阻塞的套接字调用有哪些?
①accept()②read(),recv(),readfrom()③write(),send(),sendto()④connect()⑤select()⑥close()
第三章
1.试述WinSock1.1的特点。
(1)WinSock1.1全面继承了BerkeleySockets规范
(2)数据库函数。
其中六个采用getXbyY()的形式,大多要借助网络上的数据库来获得信息,(3)WinSock1.1扩充了BerkeleySockets规范(4)WinSock1.1只支持TCP/IP协议栈
2.WinSock包含哪些常用的库函数?
它们分别完成什么功能?
P54
3.WinSock的注册和注销过程
注册过程:
调用WSAStartup的格式:
intWSAStartup(WORDwVersionRequested,LPWSADATAlpWSAData);
wVersionRequested:
指定要使用的WinSock的最高版本号,lpWSAData用来返回WinSockAPI实现细节的WSAData结构变量指针。
注销过程:
应用程序必须调用WSACleanup()函数,来解除与Winsock.DLL库的绑定,释放Winsock实现分配给应用程序的系统资源,中止对WindowsSocketsDLL的使用。
intWSACleanup(void);
4.说明WSAStartup函数初始化过程。
(1)查找WinSock.DLL文件,如果有WinSock实现,则调入相关信息。
若无,则初始化失败。
返回错误信息。
(2)确认版本号。
(3)建立WinSock同应用程序的联系。
(4)函数创建成功,在WSAData结构中返回许多信息,否则,通知用户“初始化失败”。
5.winsock的错误处理函数有什么特点?
Winsock函数在执行时都有一个返回值,WSAGetLastError()函数返回上次操作失败的错误状态,Winsock规范预定义的错误代码,WSASetLastError()用于设置可以被WSAGetLastError()接收的错误代码。
6.画框图说明同步套接字的send函数的初始化过程。
第四章
1.为什么说MFC是一个编程框架?
它提供了哪些相应的工具?
MFC应用程序框架,简称MFC框架,是由MFC(MicrosoftFoundation
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 段利国主编 网络 编程 实用教程 课后 习题 完整版 利国 主编