首页 > 代码库 > UNIX网络编程课程设计
UNIX网络编程课程设计
目录
第一章 绪论3
1.1背景3
1.2意义3
1.3本文研究的内容与目的3
第二章 系统分析3
2.1系统需求分析3
2.2系统开发的技术支持4
2.3业务逻辑分析4
2.4可行性分析4
第三章 总体设计4
3.1系统总体概要设计5
3.2系统功能模块设计5
3.2.1Client:5
3.2.2Server:5
第四章 详细设计与实现5
4.1引言5
4.1.1编写目的5
4.1.2参考资料5
4.2范围5
4.2.1系统主要目标5
4.2.2设计约束,限制5
4.3设计依据6
4.4开发环境6
4.4.1硬件环境6
4.4.2软件环境6
4.5术语,定义和缩略语6
4.5.1术语,定义6
4.5.2缩略语6
4.6模块设计7
4.6.1时序图7
模块client7
4.6.2模块描述7
4.6.3功能7
4.6.4模块设计7
模块server8
4.6.5模块描述8
4.6.6功能8
4.6.7模块设计8
4.7接口设计8
4.7.1客户端TCP套接字实现的主要函数:8
4.7.2服务器端TCP套接字实现的主要函数:8
4.7.3客户端实现过程9
4.7.4服务器端实现过程10
4.8代码设计10
客户端:10
服务器端:12
4.9客户端实现:15
4.10服务端实现:16
第五章 系统测试17
5.1用列一:17
5.2用列二:18
5.3用列三:18
5.4用列四:19
5.5用列五:20
5.6测试结果评价20
第六章结论21
致谢21
参考文献21
第一章绪论
1.1背景
数据通信和计算机网络推动了现代信息技术的发展,网络信息系统对社会的重要性日益增长,人才市场急需能适用于网络管理、网络维护、网络信息系统、网络的应用、网络设备研发和数据通信增值应用的人才。而我们需要了解各个系统的操作,我们可以在UNIX操作系统下,利用套接字编程接口进行计算机通信程序设计。了解其原理和方法。
1.2意义
通过设计开发,实现基本的网络通信,学习其中过程的实现和原理,提高自身的编程和网络通信的知识水平。
1.3本文研究的内容与目的
熟悉网络套接字编程,实现基本的套接字通信,熟练掌握套接字通信的过程,熟悉利用send()和recv()函数发送和接收信息的过程和原理。实现服务端多线程处理客户端请求。
第二章系统分析
2.1系统需求分析
主要功能:
1)客户端程序与服务器进行TCP连接,
2)客户端输入字符data,服务器接收命令并返回日期信息,实现当前系统的日期;
3)客户端输入任意字符串,服务器接收并将字符串反转发送到客户端并显示,实现字符串反转;
4)客户端输入字符串close,服务器端关闭连接,实现服务器端关闭;
5)客户端输入字符串quit,客户端主动关闭连接,实现客户端关闭。
2.2系统开发的技术支持
1)环境需求:VMware Workstation 8.0
Redhat.Enterprise.Linux.v6.
Vi编辑器
Gcc编译工具
2)开发语言:C语言
2.3业务逻辑分析
1)连接模块:服务器端创建连接套接字,绑定套接字,监听客户端的连接请求,收到请求进行连接,接收信息,发送信息。
2)日期模块:从控制台获取客户端输入data字符串,发送到服务器,服务器接收该字符串,以该字符串为信号,在服务器端调用当前日期函数,读取当前系统日期,将该日期信息通过send函数发送到客户端,并在客户端显示。
3)字符串反转模块:客户端从控制台获取字符串(除data,close,quit之外),读取字符串长度并显示在客户端,将该字符串发送到服务器端,服务器接收该字符串,并将该字符串反转后发送回客户端,在客户端打印输出反转后的字符串。
4)quit关闭模块:客户端从控制台读取quit字符串,将该字符串发送到服务器端,服务器端接收到该字符串后,直接执行服务器端的关闭连接函数,主动关闭服务器端的连接。
5)close关闭模块:客户端从控制台读取close字符串,客户端作出判断,对比是否为“close”,是则客户端主动执行关闭连接函数,关闭连接
2.4可行性分析
技术上:本设计采用C语言程序实现,语言功能强大,技术成熟,可利用的网络编程的函数多。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力。在Redhat.Enterprise.Linux.v6和虚拟机上操作,该平台成熟易开发。利用gcc编译工具编译,GCC是大多数类Unix操作系统(如Linux、BSD、Mac OS X等)的标准的编译器,GCC同样适用于微软的Windows。
经济上:Redhat.Enterprise.Linux.v6可在网上下载免费,安装操作简单容易,可在个人pc机上实现,不需要任何费用。
详细可下载附件
本文出自 “network” 博客,请务必保留此出处http://zznetwork.blog.51cto.com/9398550/1555178
UNIX网络编程课程设计