学术论文投稿/征稿

欢迎您!请

登录 注册

手机学刊吧

学刊吧移动端二维码

微信关注

学刊吧微信公众号二维码
关于我们
首页 > 学术论文库 > 理工论文 即时聊天软件设计与应用

即时聊天软件设计与应用

64

2019-08-07 08:16:18    来源:    作者:xuekanba

摘要:本文设计并实现了基于局域网内的简单通信系统,系统采用C/S模型,底层通信通过SOCKET套接字接口实现,服务器负责客户端的登陆,好友信息的保存和报文的发送。客户端采用P2P方式实现消息的传递,并能够实现文件的传输,实时聊天软件实现了实时、跨平台、低成本的沟通。

关键字:即时通信、文件传输、套接字。

1 引言

1.1 课题背景

即时通信是一个终端连接一个即时通信网络的服务。即时通信不同于E-mail,在于它的交谈是实时的。大部分的即时通信服务提供了presence awareness的特性——显示联络人名单,联络人时候在线与能否与联络人交谈。

最早的即时通信软件是ICQ(I seek you),意思是“我找你”。今年来,许多即时通信服务提供讯视会议的功能,网络电话(VoIP),与网络会议服务开始整合为兼有影像会议与实时信息的功能。

1.2 国内外研究现状

当今,国外对于应用层上的产品种类繁多。但是由于其对应用环境的要求,在国内得不到广泛推广。国内在应用层上的网络应用软件目前异常的火爆,因为我国有着网络应用的最大的市场,现在国内网络的基础性建设发展迅速,应用软件业层出不穷。尤其在局域网和游戏领域中,即时网络通信显得尤为重要。本课题目标是实现局域网用户之间的即时交流和文件传输,要通过基础的网络SOCKET编程,为局域网内部的即时通信提供一个简单问叫安全的解决方案。

2.系统需求分析

软件采用C/S模型,运用MFC基础类,通过TCP/IP协议实现即时聊天软件的设计。具体如下:

(1)  注册:用户可以按照要求注册;

(2)  登录:用户通过软件注册的账户和密码登录;

(3)  修改资料:登陆后修改个人信息;

(4)  添加好友:添加局域网内已通过软件注册的好友;

(5)  删除好友:删除已添加的好友;

(6)  聊天:双击好友聊天;

(7) 能同时与20人聊天。

3. 系统总体设计

3.1 需求分析

软件针对局域网用户,客户端和服务器都是用TCP连接,实现用户间的即时通信。需要分别实现服务器端和客户端的软件设计。

服务器端负责监听用户连接请求,负责链表存储用户信息,负责给用户发送好友信息。

客户端发起主动连接,向服务器请求或者注册。客户端可以输入自己的用户名、头像。客户端之间可以发起P2P模式的聊天,可以传送文件。

3.2 系统基本架构

image.png
基于C/S架构的即时通信软件便于对用户信息进行统一管理和保存,面向特定的用户,对信息的安全控制能力很强。为了减轻服务器负担,客户端之间信息传递是采用P2P模式的,服务器只负责用户的注册,登陆和用户在线状态的检验。基本结构如图:

图1  基于TCP协议的系统基本架构

3.3 功能模块设计

客户端:

1)   登陆:客户端可以输入服务器的ip和自己的用户名、头像进行登陆。客户端会发送登陆信息等待服务器响应,登陆成功后会发出登陆成功信息并刷新好友列表。

2)   通信:客户端与客户端之间建立线程进行即时聊天。

3)   文件传输:文件传输功能。

服务端:

1)   客户端登陆回应:进行客户信息审核,提示登陆信息,并将登陆成功的客户端信息保存在链表中。

 3.4 服务器和客户端设计

用户在打开软件之后则是根据自己的需要进行注册、资料管理、好友管理、聊天和文件传输操作,而服务器针对客户发出的请求进行请求类型判断、处理并反馈处理结果。

3.4.1 服务器流程图如下:

image.png

图2  服务器主流程——TCP

 

3.4.2 客户端流程如下:

image.png

图3   客户端主流程图——TCP

 

5.结束语

即时聊天软件的设计,是对TCP/IP协议、网络编程、MFC类库及开发工具VS2008操作等知识的复习与实践,也实现了低成本、高效率的局域网聊天功能,能满足各类群体内部沟通、文件传输需求。

 

参考文献:

[1] 任泰明.TCP/IP协议与网络编程[M] .西安:西安电子科技大学出版社,2004.

[2] 侯俊杰.深入浅出MFC[M] .第2版.武汉:华中科技大学出版社,2001 .