课程设计:网络程序设计

课程设计:网络程序设计

ID:19322965

大小:115.32 KB

页数:18页

时间:2018-09-18

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

《课程设计:网络程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、网络程序设计课程设计报告113302班20093541梁小龙20113851杨天20113849杨国浩20113824豆全胜2013年12月24日目录目录目录第1章课程设计目的、要求11.1课程设计目的11.2实验要求11.3实验内容11.4小组分工1第2章课程设计分析及内容22.1所用知识点22.1.1套接字函数22.1.2守护进程22.1.3I/O复用22.1.4并发服务器3第3章课程设计的实现43.1程序运行步骤43.2客户端主要函数53.2.1socket()函数53.2.2connect()函数53.3服

2、务端函数63.3.1send函数和recv函数63.3.2close()函数63.3.3select函数73.4创建守护进程7心得体会8附录一系统界面9附录二程序代码10第1章1第1章第1章课程设计目的、要求1.1课程设计目的1.熟练掌握所学到的网络套接字函数。2.掌握UDP和TCP编程关键函数。3.掌握多进程或多线程编程。4.掌握使用select实现I/O复用。5.掌握守护进程的编写。1.2实验要求1.认真阅读和掌握本实验的相关的知识点。2.上机编写并运行程序。1.3实验内容实现一个并发、IO复用的守护进程时间服

3、务器,要求当客户端向服务器发送“what’stime?”字符串时,服务器回应当时的系统时间字符串。1.4小组分工成员负责内容梁小龙任务书、课程设计资料查询、代码测试杨国浩服务器端程序I/O复用模块分析与设计杨天客户端clinet整体程序、课程设计报告豆全胜服务器端守护进程模块与主函数模块1第2章第2章课程设计分析及内容2.1所用知识点2.1.1套接字函数①客户端所用函数:socket()函数、connect()函数、send()函数、recv()函数,close()函数。②服务器端所用函数:bind()函数、soc

4、ket()函数、listen()函数、accept()函数、send()函数、accept()函数、recv()函数、close()函数。2.1.2守护进程守护进程,也就是通常说的Daemon进程,是Linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程常常在系统引导装入时启动,在系统关闭时终止。Linux系统有很多守护进程,大多数服务都是通过守护进程实现的。每一个从此终端开始运行的进程都会依附于这个终端,这个终端就称为这些进程的控制终端,

5、当控制终端被关闭时,相应的进程都会自动关闭。但是守护进程却能够突破这种限制,它从被执行开始运转,直到整个系统关闭时才退出。如果想让某个进程不因为用户或终端或其他地变化而受到影响,那么就必须把这个进程变成一个守护进程。2.1.3I/O复用I/O复用调用select或poll,并在该函数上阻塞,等待数据报套接口可读;当select返回可读条件时,调用recvfrom将数据报拷贝到应用程序缓冲区中。主要应用:(1)客户程序需要同时处理交互式的输入和服务器之间的网络连接。(2)客户端需要对多个网络连接作出反应。7第2章(3

6、)TCP服务器需要同时处理多个处于监听状态和多个连接状态的套接字。(4)服务器需要处理多个网络协议的套接字。(5)服务器需要同时处理不同的网络服务和协议。2.1.4并发服务器不同于顺序服务器,并发服务器就要能在一个时间为多个客户端提供服务。例如,一个聊天服务器可能服务一个特定的客户端数小时──在停止为这个客户端服务之前服务器不能等待,除非是在等待一下个客户端到来之前的间隙才能等待。7第3章第3章课程设计的实现3.1程序运行步骤对于服务器端而言,由于它是一个守护进程所以只要做到接收信息并且存储在一个数组中即可而不必在

7、前台显示,对于客户端必须有信息的发送和接收。服务器端必须对来自客户端的信息加以判断。如果接收到的字符串与“what’s_time?”字符串行匹配那么则返回给客户端一个系统的时间信息,否则返回给客户端“Inputerror”的字符串。如下图所示:图3-1连接流程图7第3章3.2客户端主要函数3.2.1socket()函数socket()函数用于根据指定的地址族、数据类型和协议来分配一个套接口的描述字及其所用的资源。创建一个套接口,代码如下: #include SOCKETPASCALFARsoc

8、ket(intaf,inttype,intprotocol); Af是一个地址描述。目前仅支持AF_INET格式,也就是说ARPAInternet地址格式,Type是新套接口的类型描述,protocol:套接口所用的协议,如调用者不想指定,可用0指定,表示缺省。3.2.2connect()函数本函数用于创建与指定外部端口的连接。s参数指定一个未连接的数据报或

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

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

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