77范文网 - 专业文章范例文档资料分享平台

基于VC++的网络即时通信软件的设计与实现(2)

来源:网络收集 时间:2019-03-27 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

沈阳理工大学学士学位论文

个人进行聊天。用语音取代键盘输入,使用户可以和与世界各地的朋友进行交流,可以把所发的文本消息发送到联系人的手机,也可以进入“聊天室”认识新的朋友。

在中国大部分人都使用腾讯QQ进行网络通信。腾讯计算机系统有限公司成立于1998年11月。1999年2月,腾讯自主开发了基于Internet的即时通信网络工具——腾讯即时通信Tencent Instant Messenger,简称TIM或腾讯QQ。腾讯QQ经过三年时间的发展,到2012年,其用户群成为中国最大的互联网注册用户群,其中QQ用户活跃账户数达到7.117亿。自此腾讯QQ成为中国最大的即时通信服务提供商。腾讯QQ超过4.3亿的注册用户群体现了网络用户对腾讯QQ这一聊天工具的广泛应用。在当今市场经济高速发展的前提下,腾讯QQ也在不断自我完善,渐渐地演变为一个人性化、市场化的多功能的聊天工具软件,它可以给网络聊天用户带来越来越多的人性化服务:从原来单一的文字聊天过渡到集语音、视频、文件传输等多功能于一身的聊天软件。

1.3 课题研究的主要内容

现在,多渠道的信息源、网络化的数据分布、快捷医用的交互操作、智能化的分析决策等特点越来越成为衡量即时通信软件的关键,因此,本文对网络即时通信软件的开发过程进行了研究与分析,该软件基于C++语言运行于VC平台上,利用的技术主要是Socket通信,并使用配置文件来管理数据。为实现和方便客户端间通信,在客户端进行了人性化的界面设计,用户可以注册号码、登录界面,并具有发送消息和传输文件的功能。

本文的主要工作包括如下几方面:

(1)针对网络即时通信系统的功能需求进行了分析,将本系统划分为服务器端和客户端两部分。

(2)按照系统的功能需求对系统的体系结构进行了设计,并针对各个功能模块的执行流程进行了详细的分析。

(3)采用功能强大的VC++作为开发平台,以C/S模式作为开发模式,客户端实现了用户注册、用户登录、用户信息查询、个人信息修改、在线人员查看、消息传送以及文件传输等功能,服务器端实现了服务启动停止、用户信息管理和数据消息传输等功能。

1.4 论文的组织结构

本文共设计了6章来详细阐述整个课题的实现过程,论文按如下方式组织:

2

沈阳理工大学学士学位论文

第1章对课题的研究背景及意义、研究现状、课题研究的主要内容与论文的组织结构进行了较深入的阐述。

第2章分析了网络即时通信软件开发的相关技术,包括WinSock编程技术、TCP/IP协议、多线程编程技术等。

第3章对系统进行需求分析,对组成系统的功能模块进行划分,对每个模块将要实现的功能进行阐述和说明。

第4章对系统进行总体设计,根据系统需求分析设计出适合的体系结构,并对系统的功能模块进行划分。

第5章对系统进行详细设计,分别介绍了系统关键模块的实现流程和数据库设计。 第6章对系统进行实现,分别介绍了服务器端和客户端的主要类及其成员函数的实现技术,以及服务器端和客户端各功能模块的实现。

3

沈阳理工大学学士学位论文

2 网络即时通信软件开发的相关技术

2.1 OSI七层网络模型

OSI网络模型是一个开放式系统互联的参考模型。通过这个参考模型,用户可以非常直观地了解网络通信的基本过程和原理。

用户从OSI网络模型可以很直观地看到,网络数据从发送方到达接收方的过程中,数据的流向以及经过的通信层和相应的通信协议。事实上在网络通信的发送端,其通信数据每到一个通信层,都会被该层协议在数据中添加一个包头数据。而在接收方恰好相反,数据通过每一层是都会被该层协议剥去相应的包头数据。用户也可以这样理解,即网络模型中的各层都是对等通信[1]。在OSI七层网络模型中,各个网络层都具有各自的功能,如表2.1所示。

表2.1 各网络层的功能

协议层名 物理硬件层 数据链路层 网络层 数据传输层 会话层 表示层 应用层

功能概述

表示计算机网络中的物理设备。常见的有计算机网卡等 将传输数据进行压缩与加压缩 将传输数据进行网络传输 进行信息的网络传输 建立物理网络的连接

将传输数据以某种格式进行表示 应用程序接口

2.2 网络传输协议

2.2.1 TCP/IP协议

TCP/IP协议实际上是一个协议簇,其包括了很多协议。例如,FTP(文本传输协议)、SMTP(邮件传输协议)等应用层协议[2]。TCP/IP协议的网络模型只有4层,包括数据链路层、网络层、数据传输层和应用层,如图2.1所示[3]。

在TCP/IP网络编程模型中,各层的功能如表2.2所示。

4

沈阳理工大学学士学位论文

应用层 (各种应用层协议如TELNET,FTP,SMTP) 运输层(TCP或是UDP) 网络层IP 数据链路层

图2.1 TCP/IP网络协议模型

表2.2 TCP/IP网络协议各层功能

协议层名 数据链路层 网络层 数据传输层 应用层

功能概述

网卡等网络硬件设备以及驱动程序 IP协议等互联协议

为应用程序提供通信方法,通常为TCP、UDP协议 负责处理应用程序的实际用于层协议

在数据传输层中,包括了TCP和UDP协议。其中,TCP协议是基于面向连接的可靠的通信协议。其具有重发机制,即当数据被破坏或者丢失时,发送方将重发该数据。而UDP协议是基于用户数据报协议,属于不可靠连接通信的协议[4]。例如,当用户使用UDP协议发送一条消息时,并不知道该消息是否已经到达接收方,或者在传输过程中数据已经丢失。但是在即时通信中,UDP协议在对一些对时间要求很高的网络数据传输方面有着重要的作用[5]。 2.2.2 TCP协议和UDP协议

IP协议只是单纯地负责将数据流分割成包,并依指定的IP地址通过网络传输到目的地,其需要配合不同的传输协议,如TCP协议(连接性与可信赖性)或UDP协议(非连接性和不可信赖性),以便提供发送端与接收端主机间的连接和传输[6]。

TCP提供了一种面向连接的、可靠的字节流服务。面向连接意味着两个使用TCP的应用(通常是一个客户和一个客户端)在彼此交换数据之前必须建立一个TCP连接。这一过程与打电话相似,先拨号振铃,等待对方摘机说“喂”,然后才说明是谁。端口号(Port)用于寻找(识别)发送端和接收端应用进程。

UDP不提供可靠性,它只管把应用程序传给IP层的数据发送过去,但是不保证它们能到达目的地[7]。由于缺乏可靠性,我们似乎觉得要避免使用UDP而使用一种可靠协

5

沈阳理工大学学士学位论文

议(如TCP),但UDP协议有简单、快速、占用资源少的优点[8]。

2.3 C/S编程模型

C/S(Client/Server,客户/服务器)模型,该模型可以合理利用两端硬件环境优势,将任务合理分配到客户端和服务器,降低系统通信开销[9]。C/S体系结构如图 2.2所示。

ServerClientClientClientClient

图2.2 C/S体系结构

在客户端/服务器体系结构(C/S)中,有一个总是打开的主机称为服务器,它服务于来自许多其它称为客户机的主机请求。客户端主机既可能有时打开,也可能总是打开。正如 Web 应用程序,其中总是打开的 Web 服务器服务于运行在客户端主机上的浏览器请求。当 Web 服务器接收到来自客户端对某对象的请求时,它向该客户端发送所请求的对象以作为响应。注意到客户端/服务器体系结构中,客户端相互之间不直接通信。例如,在 Web 应用中两个浏览器并不直接通信。客户端/服务器体系结构的另外一个特征是该服务器具有固定的、周知的 IP 地址。因为该服务器具有固定的、周知的地址,并且总处于打开状态,所以客户端总能够通过向该服务器的地址发送分组来与其联系。

这种体系结构的优点是:方便对资源的统一管理,因为资源都在服务器上;结构简单,所有客户端都以服务器为中心。

但是其缺点也是很明显的:因为大量的客户端对服务器进行访问,会在很大程度上增加服务器的负担,可能会造成服务器崩溃;容易出现单点故障,如果服务器崩溃,那么整个网络也就崩溃了。

6

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于VC++的网络即时通信软件的设计与实现(2)在线全文阅读。

基于VC++的网络即时通信软件的设计与实现(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/546476.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: