潜心研究即时通讯软件,基于企业im源码 分享

本文介绍了多年前参与设计开发的企业级即时通讯软件项目,提供了早期版本的源码供学习使用,支持C++、C#、Delphi等多个版本。文章详细阐述了用户上线、下线、加好友、删除好友、修改信息等关键功能的实现流程,涉及版本检查、身份验证、心跳包机制等技术细节。同时,作者提供了源码下载地址和联系方式,强调源码仅供学习,不可用于商业用途。
摘要由CSDN通过智能技术生成

多年前一个机会参与设计开发一个企业级的即时通讯软件项目,当时类似企业QQ,阿里旺旺的软件系统,如今整理资料时觉得可以将它拿出来与大家分享,不过是早期的一个版本,如今经过我的努力已经更新了多个版本,现在还是比较不错的,可以商用,想学习这方面的朋友可以免费下载源码包,但是不能用于商用,如今已经有C++\C#\Delphi等多个版本,想购买商用版可以联系我,ok!废话不多说先上内容。

一.系统功能清单概览

 

功能模块

功能模块具体描述

 

 

 

 

 

 

 

 

实时信息交互

支持联系人状态(在线、离开、离线、忙碌、电话、会议…

支持一对一会话(文字)

支持邀请多人会话(文字)

支持表情图标

支持字体与颜色

支持截图发送

支持点对点文件发送

支持点对点文件断点续传

支持一对一语音交流

支持一对一视频交流

查找联系人

显示在线企业内部人员与客户联系人

支持消息广播

支持留言消息提醒,对方不在线情况下可以留言,对方上线时得到留言提醒

 

 

企业组织结构管理

支持企业部门结构浏览,可查看部门结构以及找到具体的部门人员或客户联系人

支持企业部门组织结构信息创建与修改

支持部门下面人员信息(帐号)创建与修改

支持企业客户联系人信息(帐号)创建与修改

历史信息管理

通讯记录,查看历史聊天记录和文件发送接收记录

 

企业短信中心

一对一手机短信发送(中国移动、中国联通手机)

手机短信群发(中国移动、中国联通手机)

Web客户端

内嵌Web网页浏览

语言版本

支持简体中文操作界面,包括客户端和服务端

支持英文操作界面,包括客户端和服务端

 

 

二、具体功能:

 

系统设置

用户对客户端登录连接等信息进行设置,如图(2)、(3)所示

注销

表示用户退出重新登录系统

查看详细资料

表示对联系人的详细信息进行查看

我的状态

表示用户可以自定义在线状态,如忙碌、离开、就餐…

开始对话

表示进入即时信息交流

发送文件或照片

表示发送文件和图片给对方,文件格式没有限制可以是任何文件,另外传输文件大小也没有限制

音频对话

表示用户一对一使用麦克风进行语音交流

网络摄像机

表示用户一对一使用麦克风和摄像头进行语音视频交流

音频视频调节向导

表示用户对即插即用的音频视频设备进行设置

打开消息历史记录

表示用户查看自己历史聊天记录和文件收发记录

 

三、截图

 

用户上线

1)      0x1001:Client连接Appsvr,发送上线请求,包格式如下:

字段名

长度(字节数)

类型

备注

用户名UserName

31

char

 

密码Password

16

char

 

版本号

4

int

 

好友列表最后刷新时间

4

Time_t

 

 

如果版本不匹配,连接到文件服务器下载最新版本的安装程序,断开客户端连接;

0x5001:Appsvr收到请求后作版本比较,如果版本更新,则通知Client

 

字段名

长度

类型

备注

文件服务器IP

16

char

 

文件服务器端口

2

byte

 

版本号

4

int

 

 

如果AppSvr中的待处理登录命令太多,则直接拒绝客户端登录请求

0x5001     AppSvr->Client

字段名

长度(字节数)

类型

备注

 

状态码:

0x5001    版本不匹配

0x5002    服务器忙

 

 

2)      0x5002: Appsvr向DBGateway请求验证;

 

字段名

长度

类型

备注

源消息ID

4

int

AppSvr发给MCG的消息ID

用户名UserName

31

char

 

密码Password

16

char

 

好友列表最后刷新时间

4

Time_t

 

 

3)      数据库网关返回验证结果

如果验证客户端失败,返回空包

0x7001:DBG->Appsvr

字段名称

长度

类型

备注

状态码:

             0x7001  用户密码错

0x7002    用户不存在

 

 

如果验证客户端成功,返回用户个人信息和好友列表

0x7001  DBG->AppSvr

字段名称

长度

类型

备注

源消息ID

4

int

AppSvr发给MCG的消息ID

用户ID

4

int

 

性别

1

Byte

0:无,1:男,2:女

年龄

1

Byte

 

加好友方式

1

byte

0:直接加,1:验证,2:禁止加

图标ID

2

byte

 

昵称

51

Char

 

手机

20

Char

 

Email地址

51

Char

 

公司

31

Char

 

部门

21

char

 

国家

31

char

 

省份

31

char

 

城市

31

char

 

地址

51

char

 

是否需要更新本地好友列表

1

byte

0:不需要更新;1:必须更新

是否有加好友验证消息需反馈

1

byte

0:没有;1:有

加过本方的人的个数

2

WORD

 

好友个数

2

WORD

 

加过本方为好友的人的列表

用户号UserID

4

Int

 

好友列表

好友UserID

4

Int

 

好友用户名

 

 

 

图标ID

2

Int

 

昵称DispName

51

Char

 

 

状态码:0x0000    验证成功

 

 

4)     AppSvr向Client回复登录验证结果

 

如果验证客户端失败,AppSvr向客户端回复失败状态,并断开客户端连接

0x5001 AppSvr->Client

字段名称

长度

类型

备注

状态码:      0x7001    用户不存在

0x7002    用户密码错误

 

 

如果验证成功,返回用户个人信息和好友列表以及所负载的IMSvr,然后断开客户端连接

0x5001: Appsvr->Client:通知客户端验证成功,返回用户个人信息和IMSvr列表

字段名

长度

类型

备注

用户ID

4

int

 

性别

1

Byte

0:无,1:男,2:女

年龄

1

Byte

 

加好友方式

1

byte

0:直接加,1:验证,2:禁止加

图标ID

2

byte

 

昵称

51

Char

 

手机

20

Char

 

Email地址

51

Char

 

公司

31

Char

 

部门

21

char

 

国家

31

char

 

省份

31

char

 

城市

31

char

 

地址

51

char

 

IMSvr个数

1

byte

 

IMSvr列表

IMSvr IP

16

Char

 

IMSvr TCP端口

2

Short

 

IMSvr UDP端口

2

Short

 

状态码:0x0000    验证成功

 

 

0x5003:Appsvr->Client    刷新好友信息

字段名

长度

类型

备注

是否需要更新本地好友列表

1

byte

0:不需要更新;1:必须更新

好友个数

 

 

 

好友列表

好友UserID

4

Int

 

用户名

31

char

 

昵称DispName

51

Char

 

图标ID

2

Int

 

状态

 

 

 

状态码:0x0000    成功

 

 

 

5)      0x1002:Client_IMSVR_TCP_online:Client->IMSvr:客户端登录IM服务器

字段名

长度

类型

备注

用户号UserID

4

Int

 

密码Password

16

Char

 

内网IP

16

char

 

内网UDP 端口

2

short

 

 

6)      0xB001      IMSvr->AppSvr 请求验证客户端

字段名

长度

类型

备注

用户号UserID

4

Int

 

密码Password

16

Char

 

 

 

7)      0x5004 AppSvr->IMSvr 返回验证结果

字段名

长度

类型

备注

用户号UserID

4

Int

 

状态码:  0x0000    验证成功

      0x5003    用户不存在

0x5004    用户密码错误

 

8)      0xB002 IMSvr->Client 返回验证结果

字段名

长度

类型

备注

状态码:  0x0000    验证成功

      0x5003    用户不存在

0x5004    用户密码错误

 

 

IMSvr向客户端返回验证成功的结果后,在待处理队列中写入一个包,记录开始等候UDP连接的时间,作超时检测。Client收到验证成功的消息后,开始向IMSvr发UDP激活包;

UDP激活包的格式如下:

0x1000

字段名

长度

类型

备注

用户号UserID

4

Int

 

 

如果IMSvr超时未收到客户端的UDP激活包,则通知Client登录失败,断开连接;如果成功收到激活包,则通客户端登录成功。同时IMSvr通知AppSvr,Client登录是否成功。

 

 

9)      0xB003 IMSvr->Client IM服务器通知客户端登录结果

字段名

长度

类型

备注

状态码:  0x0000    登录成功

                0xB001   超时未收到UDP激活包

                0xB002   服务器超时

                0xB003  服务器忙

                0xB004   服务器拒绝登录请求

      0x5003    用户不存在

0x5004    用户密码错误

 

 

0xB004

IMSvr->AppSvr:Client上线是否成功

 字段名

长度

类型

备注

用户号UserID

4

Int

 

外网IP

16

char

 

外网udp端口

2

byte

 

内网IP

16

char

 

内网udp端口

2

byte

 

状态码:  0x0000    登录成功

                其它: 

企业即时通讯系统源代码销售 类似 MSN、QQ、雅虎通的即时通讯工具,是一套统一通讯、商务协作的即时通讯工具。主要应用于企业内部沟 通、各种会议,企业和客户以及合作 伙伴的交流,客户服务系统,远程培训教育系统,证券业的股评、咨询 系统,医疗的远程会诊系统, 以及其他很多行业的通过网络进行的实时音视频交流的系统。 1 状态管理 维护所有在线人员的状态,除了系统提供的几个常用的状态(如:离开、忙碌、参加会议等)之外,系统同时提 供了自定义在线状态的功能,以满足各种应用场合的需求. 2 即时消息 在 NetMessenger 上发消息完全可以和手头的其他工作同时进行。比 Email 要快速,无需等待;比电话交流 方式要丰富,不用消耗时间在拨电话、等待对方接听、或者对方不在时要多次重拨等,可以省去许多长途电话 费,办公室电话铃声和在电话上讲话的干扰也大幅度降低;在电话上不容易讲清楚的如一串数字、地址等可以 很方便的用文字来描述,可以直接把一幅图或者文件发给对方;可以打开语音、视频进行对话 3 语音对话 采用成熟语音技术,通话双方即使是使用拨号上网也可得到很好的通话效果. 4 网络摄像机 允许查看联机对话用户的摄像头. 5 文件传输 系统提供了高速、稳定的实时文件传输功能,支持断点续传. 6 组织机构管理 包括部门、用户,职位以及级别管理(新增,删除,修改). 7 信息传输可靠、安全 密码和消息内容都采用加密技术. 9 栩栩如生的聊天场景 可以身临其境地聊天,动人的聊天场景,迷人的场景动作,浪漫其实很简单! 10 灵巧的捕捉屏幕功能 截取自己的屏幕给对方看. 11 自定义页面 NetMessenger中有三个地方,您可以自定义页面,方便您在NetMessenger 中提供您自己的信息. 12 群发消息给员工 可以发送消息给想发送消息的员工. 13 群发消息给部门 可以发送消息给选中的部门,部门的员工会自动收到发送的消息. 14 邀请 可以邀请需要的人一起聊天. 15 上线,离线提示 可以不需要看自己的NetMessenger,系统会提示谁上线了,谁下线了. 16 自定义字体 可以自定义自己需要的字体,字形,大小,颜色,有无下划线等. 17 自动快捷输入表情符 可以方便迅速地输入您想要的表情,好心情,坏心情,只要轻轻点一点. 18 自定义NetMessenger风格 可以自定义自己需要的风格. 19 组织架构 登录后即可清晰看到由树型目录表达的多层次企业组织架构实时更新信息,在 NetMessenger 上查看对方资料 信息 一目了然的树型组织架构 ,可让每个员工迅速地融入到企业当中,即使在彼此还不认识的情况下也可以很好 的协作。 20 消息提示 系统会自动提示消息来了. 21 聊天记录 它可以记录所有的聊天记录方便查看. 22 留言功能 如果对方不在线了,可以留言给对方,对方只要一上线就可以及时的收到留言. 23 系统的自动检测 如果长时间没有动鼠标了.系统会自动离开. 24 聊天记录保密 聊天记录使用了DES加密算法,安全性绝对可靠. 25 隐身功能 如果不想别人知道你在线上,用户可以使用隐身的功能.(选择“显示为脱机”状态,您可以接收信息,但别人 看不到你在线) 现对外公开低价出售P2P即时通讯源码,无加密,组件齐全,调试非常简单方便! 发送联机或脱机消息,同时可自定义消息字体、颜色、大小等信息,支持插入表情符号,屏幕截取。支持多人 消息群发等功能; 在线即时语音、视频聊天; 穿透网关防火墙,不同局域网任意对话; 系统采用先进的点对点通讯技术,消息(包括文本、语音、视频、文件)的传输大多数情况不需要经服务器中 转而直接发往接收者所使用的机器,传输速度更快。而且因服务器仅仅只是起着维护用户状态列表的功能,因 此占用资源极少,可允许同时在线的人数就越多,对系统的影响也最小。 可以设置各种离线状态,支持自定义状态; 用户可自定义界面,界面皮肤可在线更新; 灵活支持Oracle、Sql Server等数据库; 服务器端资源占用低,通讯中不占用服务端资源; 联系QQ:571033003 全套源码 技术指导 编译通过= 5000 元 应用领域 即时通讯软件主要应用于企业内部沟通、各种会议,企业和客户间合作交流,客户服务系统,远程培训教 育系统,证券业的股评、咨询系统,医疗的远程会诊系统,各种购物网站, 物流系统等! 测试服务器请与QQ:571033003联系商祺!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值