基于企业级即时通信IM系统的设计
无需注册登录,支付后按照提示操作即可获取该资料.
基于企业级即时通信IM系统的设计(包含任务书,开题报告,外文翻译,毕业论文14000字,程序代码,数据库语句)
摘要:现在即时通讯系统服务的内部拓扑中大部分采用客户/服务器模型,客户/服务器/客户模型和客户/客户模型,并且市场上应用的很多即时通信软件比如 QQ和MSN都采用的是客户/服务器/客户模型,由于它们都需要由位于中心的服务器来协调,这对一些想拥有自己内部即时通信软件的小企业和家庭的局域网用户来说,服务器的成本实在是太大,于是 便有了编写本软件的构想。
本软件功能成功摆脱了中心服务器的束缚,它的基本功能就是让用户能够在局域网上通过采用TCP/IP协议进行点对点交流。本软件通过Visual C++软件创建的是对话框应用程序,连接后服务器可以充当客户机,客户机也可以充当服务器。它们可以同一台计算机上,也可以把应用程序复制到另一台计算机上,这样没有中间服务器存在,在两个独立的计算机上分别运行应用程序,从而通过网络传递消息。
近年来,随着全球信息化进程的不断发展,网络也在飞速发展。出于高效、快速地处理各种事务的目的,越来越多的企业在其内部使用局域网来进行工作。在内部局域网的帮助下,企业得以简化信息流程,提高信息交换的速度,从而提高工作效率。
关键词:P2P、TCP/IP、Visual C++、通信
Based on the enterprise instant communication IM system
Abstract:Now im system services most of internal topology by client/server model, client/server/client model and customer/customer model, and the market a lot of instant communication software applications such as QQ and MSN dominated by client/server/client model, because they all need by the center server to coordinate, this for some want their own internal instant communication software small businesses and families LAN users, server cost is really too big, so had the idea of writing the software.
The software function from center server success the basic function of bondage, it is to let the user to online through LAN using TCP/IP protocol to peer-to-peer communication. This software through Visual c + + software created is dialog application, after connection could serve as the client, client server also can serve as a server. They can be the same computer, also can put application copied to another computer, so no middle server exist, in two separate computer to run applications, which respectively relay messages through the network.
In recent years, along with the continuous development of global informationization, the network is growing rapidly. For efficient, fast processing various affairs purpose, more and more enterprises in its internal use LAN to work. In internal LAN's help, enterprise simplifies the flow of information, improve information exchange rate, which can improve the work efficiency.
Key words: LAN, instant messaging, client, server, multi thread,share memory,Information
IM是英文Instant Messaging的缩写,中文翻译成“即时通讯”,它是一种使人们能在网上识别在线用户并与他们实时交换消息的技术。本课题要求从需求分析、概要设计、详细设计,到界面技术、数据库技术、网络通讯技术、多线程技术的编码实践,再到单元测试、系统测试、系统维护、安装发布的整个流程进行系统全面软件开发实战。运用流行的软件开发工具(UML、Rose、PowerDesigner、VSS、Visio、Project),使用VC++语言+SQL,开发一套适合于企业的内部沟通的即时通讯系统。保证企业内部办公的即时沟通,包括文件的即时传输。实现在线聊天、(语音聊天)、离线留言、文件传输等功能。(括号内内容选做)
体系结构设计
通常的通信工具,都采用客户机/服务器(C/S)体系结构,C/S结构是这样的一种结构:它包括一个客户机(或前端),一个服务器(或称后端),客户机的作用是访问和处理远程服务器上的数据,服务器的作用是接收和处理客户机的数据请求。有时,可能有多个客户向同一个服务器同时请求服务,这就需要服务器决定怎样处理这些请求。Client/Server结构是当前数据库应用程序中极为流行的一种方式。尤其是网络技术的发展,使得当前很多系统都采用这种方式进行构造,其最大的优点是将计算机工作任务分别由客户端和服务器端来共同完成,这样有利于充分合理的利用系统资源。另外它的服务器端还可以将信息集中起来,任何客户机都可以通过访问服务器而获得所需的信息。Client/Server模型最终可归结为一种“请求/应答”关系。一个请求总是首先被客户发出,然后服务器总是被动地接收请求,返回客户需要的结果。在客户发出一个请求之前,服务进程一直处于休眠状态。一个客户提出请求后,服务进程被“唤醒”并且为客户提供服务,对客户的请求做出所需要的应答。
功能要求
(1)用户端之间的信息发送,本程序需要实现的最基本的功能
(2)在线用户主机名列表的维护。
(3)在C/S模式中,服务器与客户端是相互依赖的。在客户端启用以后,需要查看服务器端是否在线,服务器在线才能正常使用客户端,如果服务器不在线,则在检测一定次数以后自动退出客户端程序。在使用过程中,客户端在指定时间内未向服务器端发送信息的,服务器认为客户端下线;客户端在一定时间内未收到服务器端信息的,认为服务器已经下线,则提示用户并建议退出,在用户一定时间后没有退出的则自动关闭客户端程序。
本文主要工作是设计一个基于WINDOWS平台的局域网即时聊天工具,然后阐述本软件的功能、特点及使用方法,并详细阐述开发本软件所用的相关技术,具体分析本软件的各个模块的功能及实现方法,说明本软件的设计思想及方法。
软件环境
选择好的操作系统和好的编程语言是系统优劣的关键, 们要求系统在尽可能多的环境下运行,故选择Windows XP平台,对于一些无法在98中运行的API函数,一律不采用,并采取优化的算法编写程序。因VC6.0具有友好的集成开发界面、面向对象的可视化开发模式、良好的数据库及多媒体应用支持以及高效的软件开发与程序运行,功能更大,开发效率更高,不仅是网络环境下的优秀前端开发语言和工具,也是服务器端 Web编程的优秀工具。加之 本人对本系统的操作最为熟练,所以选择该平台为开发环境。
操作系统:Windows XP或Window2000。
开发工具:VC++6.0。
#p#副标题#e#
目 录
1 引 言 1
1.1 课题背景及意义: 1
1.2 课题现状 1
1.3 本文的主要工作: 2
1.4开发平台与技术的选择及介绍 2
2 需求分析及可行性研究 3
2.1 需求分析: 3
2.1.1 时间要求 3
2.1.2 功能要求 3
2.1.3 系统基本流程图 4
2.1.4 性能要求 4
2.1.5 测试环境规定 4
2.2 可行性研究: 4
3 相关开发技术的原理性说明 5
3.1 win32编程原理及MFC框架 5
3.1.1 WIN32编程原理 5
3.1.2 MFC框架 6
3.2 TCP/IP 协议及WINDOWS SOCKETS网络编程接口 8
3.2.1 TCP/IP协议简介 8
3.2.2 WINDOWS SOCKETS网络编程接口概述 10
3.3 多线程编程技术 11
3.3.1 进程及线程概述 11
3.3.2 Win32 API对多线程编程的支持 12
4 总体设计 13
4.1体系结构设计 13
4.2 功能模块划分 14
4.3 数据结构设计 15
4.4 用户界面设计 15
4.4.1 服务器端显示界面: 15
4.4.2 客户端显示界面: 16
5 详细设计及编码实现 16
5.1 主框架及用户界面模块详细设计 16
5.2 网络扫描模块详细设 18
5.3 信息发送模块详细设计 18
5.4 信息接收模块详细设计 20
6 测 试 20
结 论 21
致 谢 22
参考文献 23