文档详情

网络应用编程-习题解答(合并版)概要.doc

发布:2017-03-16约1.23万字共17页下载文档
文本预览下载声明
网络应用编程 习题解答 课 程 名 称 网络应用编程 院(部) 计算机与信息工程学院 教研室(实验室) 网络工程教研室 主 讲 教 师 侯彦娥 职 称 讲师 使 用 教 材 21世纪高等学校计算机规划教材(精品系列)《C#网络应用编程(第2版)》,马骏等主编,人民邮电出版社 习题解答 1.简要回答什么是分散式、集中式和分布式通信模型。 【解答】 分散式指用户只负责管理自己的计算机系统,各自独立的系统之间没有资源或信息的交换或共享。 集中式指用一台主计算机保存一个企业组织的全部数据,而用户则通过终端连接到这台主计算机系统并与之通信,从而达到访问数据的目的。终端是包含键盘和显示器的端设备,通过通信链路发送和接收数据。 分布式是分散式系统和集中式系统的混合,它由一个又一个连接起来的独立计算机组成。 企业管理系统就是集中式和分布式综合的一种表现,所有数据用专用的数据库(SQL Server、Oracle或者DB2)集中存储,属于集中式,而对数据的处理则由各个部门的软件分别控制,属于分布式。 2.TCP/IP四层模型中各层的主要功能是什么? 【解答】 TCP/IP参考模型采用4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:应用层、传输层、网际层和网络接口层。 应用层负责应用程序之间的沟通。 传输层提供节点间的数据传送以及应用程序之间的通信服务,主要功能是数据格式化、数据确认和丢失重传等。 网际层负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机,但它不检查数据包是否被正确接收。 网络接口层负责接收IP数据报并进行传输,从网络上接收物理帧,抽取IP数据报转交给下一层,对实际的网络媒体进行管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。 习题解答 1) 进程和线程有什么区别? 1) 一个完整的进程拥有自己独立的内存空间和数据,但是同一个进程内的线程是共享内存空间和数据的。一个进程对应着一段程序,它是由一些在同一个程序里面独立的同时运行的线程组成的。线程有时也被称为并行运行在程序里的轻量级进程,这是因为它的运行依赖于进程提供的上下文环境,并且使用的是进程的资源。 在一个进程里,线程的调度有抢占式或者非抢占的模式。在抢占模式下,操作系统负责分配CPU时间给各个线程,一旦当前的线程使用完分配给自己的CPU时间,操作系统将决定下一个占用CPU时间的是哪一个线程。因此操作系统将定期的中断当前正在执行的线程,将CPU分配给在等待队列的下一个线程。所以任何一个线程都不能独占CPU。每个线程占用CPU的时间取决于进程和操作系统。进程分配给每个线程的时间很短,以至于我们感觉所有的线程是同时执行的。 2) 线程是如何创建的?怎样设置线程的优先级? C#中创建线程的工作是通过使用System.Threading名称空间下的Thread类的构造方法来完成的,如创建一个线程实例输出字符“a”1000次。 Thread thread = new Thread(new ThreadStart(func1)); thread.Priority =ThreadPriority.Normal; thread.Start(); static void func1() { for(int i =0;i1000;i++) { Console.WriteLine(a); } } C#中System.Threading名称空间下的ThreadPriority枚举类定义了线程可能具有的所有优先级的值,优先级由高到低排序为:Highest,AboveNormal,Normal,BelowNormal,Lowest。可以通过访问线程的Priority属性来获取和设置其优先级。每个线程都具有分配给它的线程优先级。在公共语言运行库中创建的线程最初分配的优先级为ThreadPriority.Normal。在运行库以外创建的线程保留它们在进入托管环境之前具有的优先级。可以使用Thread.Priority属性获取或设置任何线程的优先级。 图3-6 设计界面 【】using System.Net; private void button1_Click(object sender, EventArgs e) { try { this.Cursor = Cursors.WaitCursor; //解析主机名 IPHostEntry IPinfo = Dns.GetHostEntry(textBox1.Text); //清空列表框 listBox1.Items.Clear()
显示全部
相似文档