码迷,mamicode.com
首页 > 其他好文 > 详细

UNIX网络编程课程设计

时间:2014-09-19 19:42:46      阅读:255      评论:0      收藏:0      [点我收藏+]

标签: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网络编程课程设计

标签:unix网络编程课程设计

原文地址:http://zznetwork.blog.51cto.com/9398550/1555178

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!