- 3
- 0
- 约1.35万字
- 约 19页
- 2017-02-05 发布于北京
- 举报
软件课程设计报告)
中南民族大学
软件课程设计报告
电子信息工程学院09级 电子工程专业
题目: 简易网络聊天系统
学生: 吴雪 学号:
指导教师: 王锦程
2012年4月25本设计的目标是用语言设计一个的程序。程序写完后最终生成一个客户端,它由client和server两部分组成,client和server之间的通信基于TCP协议。实现数据的收发。输入目的主机的IP,连接到目的主机,客户端与客户端之间即可实现简易的聊天和传输文件的功能Winsock是90年代初,由Microsoft联合了其他几家公司共同制定一套WINDOWS下的网络编程接口,winsock.h头文件和动态链接库winsock.dll组成,目前有两个版本:Winsock1.1和Winsock2.0。作为网络编程接口,Winsock屏蔽了网络底层的复杂的协议和数据结构,使得编程人员对网络的操作变得非常简单,因此,在Win32平台上,访问众多的基层网络协议,Winsock是首选接口。开发平台我选用了VC6.0,因为一直以来都使用VC6进行学习,对这个IDE最为熟悉,再者VC同样是由微软开发的系统,与其操作系统,网络接口具有最为密切的契合优点,所以选择了VC6.0。
2.2 设计思想、设计框图及数据库表结构
(1)系统总体设计思想:通常的通信工具,都采用客户机/服务器(C/S)体系结构,C/S结构是这样的一种结构:它包括一个客户机(或前端),一个服务器(或称后端),客户机的作用是访问和处理远程服务器上的数据,服务器的作用是接收和处理客户机的数据请求。有时,可能有多个客户向同一个服务器同时请求服务,这就需要服务器决定怎样处理这些请求。Client/Server结构是当前数据库应用程序中极为流行的一种方式。尤其是网络技术的发展,使得当前很多系统都采用这种方式进行构造,其最大的优点是将计算机工作任务分别由客户端和服务器端来共同完成,这样有利于充分合理的利用系统资源。另外它的服务器端还可以将信息集中起来,任何客户机都可以通过访问服务器而获得所需的信息。Client/Server模型最终可归结为一种“请求/应答”关系。一个请求总是首先被客户发出,然后服务器总是被动地接收请求,返回客户需要的结果。在客户发出一个请求之前,服务进程一直处于休眠状态。一个客户提出请求后,服务进程被“唤醒”并且为客户提供服务,对客户的请求做出所需要的应答。在客户端启动后,客户端计算得到本地网络的广播地址,进行广播查找服务器端,服务器接收到客户端的广播信息后返回服务器地址,则客户端接收、验证信息并记录服务器端地址,然后客户端启动定时期,定时发送信息到服务器,以告知服务器自己在线,然后服务器返回在线用户列表,服务器依靠客户端发送的信息来更新维护在线用户列表。在客户端与服务器尽心数据交换,拥有了在线用户列表后,就可以选择IP进行客户端之间的点对点信息交流了。如果服务器不在线,则客户端会提示用户退出,在一定的时间后自动退出。
图(1)设计思路框图
(3)数据库表结构及表间关系
图(2)数据库表结构及表间关系
第三章 各模块功能及主要模块的流程图
3.1 各模块功能简介
1.Connect():int connect ( SOCKET s, const struct sockaddr FAR* name, int namelen);
【使用说明】
与通信对象建立连接,主要用在客户端。其中s、name和namelen的含义与使用方法和bind()相同。如果连接失败,该函数会返回SOCKET_ERROR。
2.listen():int listen (SOCKET s,int backlog);
【使用说明】
对于服务器端程序,当申请到Socket,并指定通信对象为INADDR_ANY之后,就应该等待一个客户端程序的连接。当没有连接请求时,就进入等待状态,直至有一个请求到达为止。其中:
s输入:是socket()创建的socket。
backlog输入:等待连接的队列长度,可取1~5。如果当某个客户程序要求连接之时,服务器已与其他客户程序连接,则后来的连接请求会被放在队列中,等待服务器空闲的时候再与之连接。当队列达到指定长度(backlog的值)时,再来的连接请求都将被拒绝。
3.accept():SOCKET accept (SOCKET s,struct sockaddr FAR* addr,int FAR* addrlen);
【使用说明】
对与服务器端程序,在接收到一个连接请求之后,要为这个连接建立一个新的socket,这个任务由accept()函数来完成,并
您可能关注的文档
- 贵州百万工程题库(二十).doc
- 贵州省专业技术人员公需科目考试答案.doc
- 贵州省公需科目在数据培训考试题.docx
- 贵州省公需科目大数据考试题二.docx
- 贵州省大学生党的十八大精神知识竞赛.doc
- 贵州省情总复习题及答案).doc
- 活性炭在水污染处理中的应用和展望.doc
- 活用Win搜索功能更快更准更贴心.doc
- 活用修辞文采飞扬之一.doc
- 贵州省普通高中新课程改革高考方案).docx
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)