欢迎来到天天文库
浏览记录
ID:56098738
大小:45.50 KB
页数:9页
时间:2020-06-19
《c#高级网络程序设计课后答案.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第1章1.简述分散式、集中式和分布式通信模型的特点。【参考解答】分散式:各自独立的系统之间没有资源或信息的交换或共享。存在大量数据冗余且维护成本高,已被淘汰。集中式:数据和管理功能都集中在单台计算机上,用户仅能通过终端来操作。优点是硬件成本低、无冗余和不一致性问题,缺点是可靠性和灵活性低,反应慢。分布式:是分散式系统和集中式系统的混合体,是目前比较完善的解决方案。2.简述C/S和B/S的优缺点。【参考解答】C/S是一种胖客户端应用程序编程架构,其主要工作都在客户端运行。优点是可以充分利用本地计算机的性能优势,缺点是需要在本机安装客户端软件。B/S使用HTTP进行通信。优点
2、是单台计算机可以访问任何Web服务器,缺点是B/S模式有沙盒限制。3.什么是套接字?套接字有哪几种类型?【参考解答】套接字是支持TCP/IP网络通信的基本操作单元,是不同主机间的进程进行通信的端点。在一个套接字实例中,既保存了本机的IP地址和端口,也保存了对方的IP地址和端口,同时也保存了双方通信采用的网络协议等信息。套接字有3种类型:流式套接字、数据报套接字和原始套接字。第3章1.简要回答下列问题。(1)进程和线程有什么区别?为什么要用多线程?多线程适用于哪种场合?(2)前台线程和后台线程有什么区别和联系?如何判断一个线程属于前台线程还是后台线程?如何将一个线程设置为后
3、台线程?【参考解答】(1)进程是正在执行的程序,线程是某个进程中的一个或多个执行流。多线程可让多个任务同时执行。当执行需要较长时间才能完成的连续操作时,或者等待网络或其他I/O设备相应时,都可以使用多线程技术。(2)一个线程要么是前台线程要么是后台线程。两者的区别是:后台线程不会影响进程的终止,而前台线程则会影响进程的终止。2.什么是同步?为什么需要同步?C#提供了什么语句可以简单地实现代码同步?【参考解答】执行某语句时,在该语句完成之前不会执行其后面的代码,这种执行方式称为同步执行。当并行执行的多个线程同时访问某些资源时,必须考虑如何让多个线程保持同步。同步的目的是为了
4、防止多个线程同时访问某些资源时出现死锁和争用情况。C#提供的lock语句可以简单地实现代码同步。3.什么是线程池?使用线程池有什么好处?【参考解答】线程池是在后台执行任务的线程集合,好处有:如当某个线程无法进入线程池执行时先将其放入等待队列,自动决定用哪个处理器执行线程池中的某个线程,自动调节这些线程执行时的负载平衡问题等。另外,线程池总是在后台异步处理请求的任务,而不会占用主线程,也不会延迟主线程中后续请求的处理。4.应用程序域和进程有什么区别和联系?【参考解答】一个进程既可以只包含一个应用程序域,也可以同时包含多个相互隔离的应用程序域。多进程是在操作系统级别使用的功能
5、,资源消耗较大,细节控制复杂;应用程序域是在应用程序级别使用的功能,比直接用多进程来实现进程管理速度快、资源消耗少而且更安全,是轻量级的进程管理。第4章1.什么是编码?什么是解码?为什么要对字符进行编码和解码?.NET框架提供了哪些用于字符编码和解码的类?【参考解答】将字符序列转换为字节序列的过程称为编码;当这些字节传送到网络的接收方时,接收方再将字节序列转换为字符序列,这种过程称为解码。在网络通信中,很多情况下通信双方传达的都是字符信息。但是,字符信息并不能直接从网络的一端传递到另一端,这些字符信息首先需要被转换成一个字节序列,然后才能在网络中传输。因此,发送方需要进行
6、编码,相应的接收方就要执行解码。.NET框架中一般常用Encoding类实现编码和解码。Encoding类位于System.Text命名空间下,该类主要用于对字符集进行编码和解码以及将一种编码格式转换为另一种编码格式。如果有更详细的需求可以还使用与Encoding类位于同一命名空间下的Encoder和Decoder类来进行编码和解码。2..NET提供的从Stream类继承的数据流都有哪些?【参考解答】文件流(FileStream)、内存流(MemoryStream)、网络流(NetworkStream)加密流(CryptoStream)。3.简述对称加密和不对称加密的特点
7、及实现原理。【参考解答】对称加密:(1)加密和解密数据使用同一个密钥;(2)私钥算法以块为单位加密数据,一次加密一个数据块,因此支持数据流。对称加密算法的优点:保密强度高,加、解密速度快,适合加密大量数据。对称加密的缺点:通信双方使用相同的密钥和IV加密和解密,发送方需要先将密钥和IV传递给接收方。如果攻击者截获了密钥和IV,也就等于知道了如何解密数据。不对称加密:(1)使用一个需要保密的私钥和一个可以对任何人公开的公钥。用公钥加密的数据只能用私钥解密,反之,用私钥加密的数据只能用公钥解密;(2)私钥加密算法使用长度可变的缓冲
此文档下载收益归作者所有