网络编程课程设计报告

网络编程课程设计报告

ID:12483326

大小:503.00 KB

页数:30页

时间:2018-07-17

网络编程课程设计报告_第1页
网络编程课程设计报告_第2页
网络编程课程设计报告_第3页
网络编程课程设计报告_第4页
网络编程课程设计报告_第5页
资源描述:

《网络编程课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、123301班20124738王恩阳20124696孟德龙2014年12月23日网络程序设计课程设计报告目录第1章课设内容与要求11.1课设题目11.2设计目的11.3设计要求1第2章设计分析22.1题目分析22.2守护进程原理分析32.3网络套接字原理分析4第3章设计实现53.1关键技术设计53.1.1创建守护进程53.1.2I/O复用的select函数73.1.3网络套接字函数83.2关键程序实现83.2.1创建守护进程83.2.2套接字编程93.2.3I/O复用的select函数103.2.4处理客户连接10第4章运行与测试114.1测试目的及测试内容114.2设计的测试数据及

2、测试结果12第5章总结与心得16参考文献17附录:部分源程序18第2章设计分析第1章课设内容与要求1.1课设题目设计并实现一个并发、IO复用的守护进程时间服务器,要求学生开发界面,有服务界面和客户端界面,(界面开发语言自己选择,例如VC,JAVA,GTK/GTKMM,QT其中一个即可)。1.2设计目的1)熟练掌握所学到的网络套接字函数。2)掌握UDP和TCP编程关键函数。3)掌握多进程或多线程编程。4)掌握使用select实现I/O复用。5)掌握守护进程的编写。6)掌握网络编程的界面开发。1.3设计要求1)服务端界面启动,在界面里有表示服务当前的状态,状态分为:启动、链接、关闭。2)

3、服务器界面显示客户端链接信息。3)客户端界面有服务IP地址,服务链接端口,链接服务器信息。4)客户端具有链接、关闭和重新链接功能。5)客户端具有发送消息功能,向服务器发送“whatisthetime?”信息时,服务器回应当时的系统时间字符串。显示到客户端界面里,同时服务端界面显示客户端链接IP信息。3第2章设计分析第2章设计分析2.1题目分析我们选择实验的题目1即实现一个并发、IO复用的守护进程时间服务器,要求当客户端向服务器发送“whatisthetime?”字符串时,服务器回应当时的系统时间字符串。现在要用守护进程实现一个时间服务器,呈现的功能是:服务器运行后自动成为守护进程,返

4、回shell;客户端运行后收到服务器发来的当前时间。从而达到利用网络把时间资讯传递给用户的目的。要使服务器可以同时处理多个客户端的请求需要用到并发服务器,我们采用I/O多路复用。详细过程如图2-1服务器端工作流程图所示。图2-1服务端工作流程图3第2章设计分析2.2守护进程原理分析操作系统中在系统引导的时候会开启很多服务,这些服务就叫做守护进程。为了增加灵活性,root可以选择系统开启的模式,这些模式叫做运行级别,每一种运行级别以一定的方式配置系统。守护进程是脱离于终端并且在后台运行的进程。守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产

5、生的终端信息所打断。在Client/Server模式下,服务器监听(Listen)在一个特定的端口上等待客户连接。连接成功后服务器和客户端通过端口进行数据通信。守护进程的工作就是打开一个端口,并且等待(Listen)进入连接。如果客户端产生一个连接请求,守护进程就创建(Fork)一个子服务器响应这个连接,而主服务器继续监听其他的服务请求。独立运行的守护进程由init脚本负责管理,所有独立运行的守护进程的脚本在/etc/rc.d/init.d/目录下。系统服务都是独立运行的守护进程包括:syslogd和cron等。运行独立的守护进程工作方式称作:stand-alone。传统的C/S模式

6、的访问模式。服务器监听(Listen)在一个特点的端口上等待客户端的联机。如果客户端产生一个连接请求,守护进程就创建(Fork)一个子服务器响应这个连接,而主服务器继续监听。以保持多个子服务器池等待下一个客户端请求。工作在stand-alone模式下的网络服务有route、gated。另外是大家最熟悉是Web服务器:Apache和邮件服务器Sendmail、域名服务器Bind。因为这些负载很大服务器上,预先创子服务器,可以通过客户的服务速度。在Linux系统中可通过stand-alone工作模式启动的服务由/etc/rc.d/下面对应的运行级别当中的符号链接启动。图2-2守护进程工作

7、模式示意图3第2章设计分析2.3网络套接字原理分析要通过互联网进行通信,你至少需要一对套接字,其中一个运行于客户机端,我们称之为ClientSocket,另一个运行于服务器端,我们称之为ServerSocket。根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。所谓服务器监听,是服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。所谓客户端请求,是指由客户端

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。