VC基于Socket的聊天软件设计与实现
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
摘 要
随着计算机科学和Internet 的飞速发展, 网上聊天已成为人们相互交流的一种方式, 与E-mail、电话相比, 聊天服务更具有实时性和有效性。
本论文提出一个运行于VC++6.0平台上的局域网聊天软件的解决方案,采用了Socket网络编程思想和多线程技术。该聊天软件包括服务器端和客户端两个模块,客户端通过服务器端进行通信。服务器端模块主要实现了服务器的配置和数据的传递;客户端模块主要实现了用户注册、登录、文字聊天和文件传输等功能。该软件采用多线程技术支持多用户操作,并采用相关技术进行了优化,加快了文字和文件的传递速度。
该软件能够帮助企业在局域网内搭建起自己的聊天系统,避免企业内部员工使用类似QQ等软件泄露内部信息,但是该软件只实现了聊天的基本功能,还有很多不足之处需要改进。
[资料来源:http://think58.com]
[资料来源:THINK58.com]
关键词:局域网,聊天软件,VC++
第1章 概论
1.1 选题背景1.1.1 课题开发背景
近年来,随着全球信息化进程的不断发展,网络也在飞速发展,类似于QQ这样的聊天工具得到了飞快的发展,规模越来越大,功能也越来越强大,界面就更加的人性化了,是一个集娱乐,互动,资讯等等多元化的软件,使世界真正的成为了‘零’距离。
“沟通无极限”,这句移动通讯的广告语其实更适合即时聊天。即时聊天使亲友的沟通突破时空极限,使办公室的沟通突破上下级极限,使陌生人的沟通突破环境极限,使自我与外界的沟通突破心理极限。作为使用频率最高的网络软件,即时聊天已经突破了作为技术工具的极限,被认为是现代交流方式的象征,并构建起一种新的社会关系。它是迄今为止对人类社会生活改变最为深刻的一种网络新形态,没有极限的沟通将带来没有极限的生活。
[资料来源:www.THINK58.com]
基于Socket的即时通信工具,实际上是互联网即时通信工具的一个小规模版本,广域网上的即时通信工具,如今一般采用UDP或者 TCP协议体系来实现 ,开发技术已经比较成熟,比如较早的ICQ,MSN Messenger, Yahoo。除了这些国外开发的产品,还有国产的有名的QQ,新浪UC,LAVA-LAVA等,这些工具统统都实现了广域网上的即时通信,尽管都是即时通信,实现了即时聊天,以及文件传输的主要功能,但是也各有各的特色,比如ICQ的巨大客户群,MSN的个性化表情,YAHOO通的易操作性等。而QQ也具有一个相当方便的屏幕截图功能,另外就是,所有上述软件都实现了网络即时的视频,语音聊天功能。这些软件,在使用方面各有特色,在实现方面也各有所长,但基于这些产品正在商业运营阶段,其实现方式属于商业机密,具体细节不可能得知,但是它在大的方面无非就是各种利用各种平台上的网络通信接口,建构基于下层TCP/IP,或者UDP协议的软件产品 。
think58.com [来源:http://think58.com]
1.1.2 课题开发意义
本系统采用基于Socket的通信工具的设计与实现的方法。
基于Socket的通信软件可以为企业原有的网络提供一种良好、安全、快速的通信机制。它的实现无需对企业原有的网络硬件进行任何改动,从而具有实现成本低廉的优点,它的使用能有效地降低网络通信负荷,提高网络的使用效率,可以很好地解决企业内部网络的各种通信需求。基于Socket的聊天工具很好地诠释了Socket通信的原理,并且在企业内部通信、教学、讨论等应用中都具有一定的实用价值。它具有信息收发速度快、保密性好、占用网络带宽资源低、占用服务器吞吐能力低、易于编程实现等优点。
内容来自think58 [资料来源:www.THINK58.com]
[资料来源:http://think58.com]基于Socket的聊天软件应用范围广阔,不但可以处理传统的通信需求,而且也能扩展以适应新型的网络应用,如网络教育、文件传输等,拥有广泛的应用前景。
1.2 课题开发目标
本课题主要研究的是基于Socket的聊天软件,此聊天软件分为服务器程序和客户端程序,本课题的目标是能实现用户在客户端与服务器端传递信息。
主要研究开发内容是:熟悉C++和Access 2003服务器的配置,搭配系统开发平台,探索在此开发平台下,利用socket编程技术、多线程开发技术、TCP/IP协议等进行聊天软件的实际开发。
think58
[版权所有:http://think58.com]
[资料来源:http://www.THINK58.com]具体要实现的目标如下:
think58好,好think58
[版权所有:http://think58.com]
[来源:http://think58.com](1) 实现用户的注册、登陆、修改信息等功能 ;
(2) 实现点对点的通信,即私聊;
[来源:http://think58.com]
(3) 实现一对多的通信,即群聊 ;
(4) 实现点对点的文件传输 。
第3章 系统需求分析与概要设计
3.1 系统总体需求分析
为了开发出符合要求的网络聊天程序,首先必须知道使用者的需求。对需求的深入理解是开发工作获得成功的前提条件,它对目标项目提出完整、准确、清晰、具体的要求。
[资料来源:www.THINK58.com]
首先,服务器需要同时连接很多个用户,并能提供给这些连接用户所需要的任务处理请求,这就要求服务器能同时处理多个socket连接。服务器模型一般分为循环服务器和并发服务器,循环服务器一次只能处理一个连接,也就是说同一时间只能由一个用户连接到服务器进行消息处理,这种情况是不被允许的。因此我们将采用多线程方式的并发服务器来设计服务器端,这样将能从很大程度上提高服务器的运行效率。
[资料来源:http://THINK58.com]
其次,客户端只需要连接到服务器便可以进行任务的处理工作,因此客户端的主要性能要求为图形界面运行的稳定性和对出错信息的及时反映。当一个窗体出现问题时能够及时的处理,让主程序不受影响。
再者,所有的应用程序在运行过程中都会出现出错的情况,这种错误可能来自于程序本身,也可能是用户操作的失误所造成的。当有错误发生时,我们应该有一个很好的机制来保障错误能够及时地被排除。当应用程序出现了错误的时候我们就需要程序能提供给我们出错的信息,这样用户就能够很快的找出具体的出错原因,以便寻找合理的途径去解决它。
本文来自think58 [资料来源:http://think58.com]
[资料来源:www.THINK58.com]3.1.1 系统功能需求分析
聊天系统使该系统的用户能够通过客户端登入到该系统,然后直接通过系统实现用户之间的交互。首先,需启动服务器,进行服务器的配置,进行正确的服务器配置和数据库连接并测试成功后,开启服务器。接下来,在客户端,该系统的用户能够通过登陆界面进入,然后直接与系统交互,进行文字传送和文件传输。本系统支持的活动列表如下:
(1) 用户注册账号;
[版权所有:http://think58.com]
(2) 用户登陆系统;
(3) 生成在线的好友;
[来源:http://think58.com]
(4) 用户可修改密码;
(5) 用户之间交互,进行文字传送;
(6) 用户之间交互,进行文件传输;
(7) 用户登陆后,可查看好友信息;
(8) 用户登陆后,可查看修改自身信息;
(9) 用户登陆后,可对群信息进行管理;
内容来自think58
[资料来源:THINK58.com]
(10) 文件传输过程中可取消文件传输;
copyright think58
3.1.2 系统性能需求分析
(1)可靠性高,能在由于系统问题或其它原因产生错误后,做出相对应处理,比如网络初始化失败、服务器不在线等,可以提示用户安全退出本程序,在出现不可知的错误以后,可以尽量安全的退出程序。在程序的设计过程中,要求能尽可能多的设想到用户使用过程中可能发生的事件,并能在判断事件后做出相应的处理,使程序具有较高的容错性能。
(2)易操作性,程序简单易懂,容易上手使用。设计界面是,简化界面的复杂性,模拟QQ等现有即时通讯工具的界面,使用户能很容易看懂并使用。
(3)开发文档易理解,保证以后自己二次开发或他人接手开发时,能够清晰的理解整个系统的设计思路和实现细节。
内容来自think58 [来源:http://think58.com]
(4)模块化设计此软件的功能,不同的模块实现不同的功能,使得软件易于以后的维护与扩展,在以后可以更好的完善本软件的功能,更方便于在工作中的应用。
[来源:http://think58.com]
包含资料:源程序+论文(15000字以上)+可执行程序+答辩稿ppt+开题报告+外文翻译
获取资料请您联系本站客服
[来源:http://think58.com]