System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种IM通信方法、装置、系统及计算机可读存储介质制造方法及图纸_技高网

一种IM通信方法、装置、系统及计算机可读存储介质制造方法及图纸

技术编号:40300163 阅读:5 留言:0更新日期:2024-02-07 20:47
本申请适用于IM通信领域,提供了一种IM通信方法、装置、系统和计算机可读存储介质,所述服务器能够根据接收发送端发送的即时通信消息,确定所述即时通信消息的接收者的一个或多个IM通信终端,并判断所述一个或多个第二IM通信终端是否在线,并在所述第二IM通信终端在线时,与所述第二IM通信终端进行指令交互,发送所述即时通信消息至所述第二IM通信终端,且在第二IM通信终端由离线状态变换为在线状态后,能够基于游标判断出是否需要进行消息同步。从而基于所定义的消息交互规则,实现了基于本地服务器的IM消息的即时、稳定、安全的发送,并能根据业务需要进行定制化的消息发送,避免使用第三方云服务器,降低了成本。

【技术实现步骤摘要】

本申请涉及通信,具体而言,尤其涉及一种即时通信(instantmessaging,以下简称im)方法、装置、系统及计算机可读存储介质。


技术介绍

1、目前,随着社会经济和信息技术的快速发展,人们对消息的即时性要求越来越高,各类im通信软件成为生活中不可或缺的一部分,如qq、微信等。目前,大部分的im通信软件均是通过第三方im云服务实现消息的收发和处理,成本较高,无法保证通信数据安全,更无法满足业务的定制化需求。因此,如何采用本地服务器实现即时、稳定、安全的im消息收发和处理,成为急需解决的问题。


技术实现思路

1、本申请实施例提供了一种im通信方法、装置、系统及计算机可读存储介质,用于通过本地服务器实现im消息稳定、快速、安全的收发和处理,同时支持业务的定制化需求。

2、第一方面,本申请实施例提供了一种im通信方法,应用于im服务器,所述方法包括:

3、接收第一im通信客户端发送的即时通信消息;

4、其中,所述即时通信消息为发送至同一接收者的消息或发送至同一群组的消息;所述即时通信消息包括文字、语音、图片、视频、或自定义类型;

5、确定所述即时通信消息的接收者的一个或多个第二im通信客户端;

6、针对每个第二im通信客户端,判断所述第二im通信客户端是否在线,若在线,则执行下一步骤;

7、向所述第二im通信客户端发送psh指令;

8、接收所述第二im通信客户端发送的sync指令,将所述即时通信消息依次发送至第二im通信客户端,并在所述即时通信消息后附加ack指令,其中,所述sync指令为所述第二im通信客户端在接收到所述服务器发送的psh指令后,所发出的指令;所述ack指令中包括lv字段,所述lv字段为用于标识所述消息的游标;

9、接收所述第二im通信客户端发送的fin指令,并将第一存储位置的值更新为所述fin指令携带的lv字段;其中,所述fin指令为所述第二im通信客户端在接收到所述ack指令后,所发出的指令,所述fin指令中包含lv字段,所述lv字段为所述第二im通信客户端接收的所述ack消息中的lv字段;所述第一存储位置为与所述第二im通信客户端的用户相对应的用于存储该用户已接收消息的游标的位置;

10、若接收到所有所述第二im通信客户端发送的fin指令,则删除所述即时通信消息。

11、第二方面,本申请实施例提供了一种im通信装置,应用于im服务器,其特征在于,所述装置包括:

12、消息接收模块,用于接收第一im通信客户端发送的即时通信消息;

13、其中,所述即时通信消息为发送至同一接收者的消息或发送至同一群组的消息;所述即时通信消息包括文字、语音、图片、视频、或自定义类型;

14、接收客户端确认模块,用于确定所述即时通信消息的接收者的一个或多个第二im通信客户端;

15、在线判断模块,用于针对每个第二im通信客户端,判断所述第二im通信客户端是否在线;

16、消息发送模块,用于当所述第二im通信客户端在线时,向所述第二im通信客户端发送psh指令;以及在接收所述第二im通信客户端发送的sync指令后,将所述即时通信消息发送至第二im通信客户端,并在所述即时通信消息后附加ack指令;所述sync指令为所述第二im通信客户端在接收到所述服务器发送的psh指令后,所发出的指令,所述ack指令中包括lv字段,所述lv字段为用于标识所述消息的游标;

17、指令接收模块,用于接收所述第二im通信客户端发送的sync指令和fin指令,并将第一存储位置的值更新为所述fin指令携带的lv字段;其中,所述fin指令为所述第二im通信客户端在接收到所述ack指令后,所发出的指令,所述fin指令中包含lv字段,所述lv字段为所述第二im通信客户端接收的所述ack消息中的lv字段;所述第一存储位置为与所述第二im通信客户端的用户相对应的用于存储该用户已接收消息的游标的位置;

18、消息删除模块,用于接收到所有所述第二im通信客户端发送的fin指令后,删除所述即时通信消息。

19、第三方面,本申请实施例提供了一种im通信系统,所述系统包括im服务器和多个im通信客户端,其中,所述im服务器包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的方法,所述多个im通信客户端中的每个im通信客户端用于与所述im服务器通信连接,以发送一个或多个消息至其他im通信客户端。

20、第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上所述方法的步骤。

21、本申请实施例与现有技术相比存在的有益效果是:

22、本申请所提供的im通信方法,im服务器能够根据接收发送端发送的即时通信消息,确定所述即时通信消息的接收者的一个或多个im通信终端,并判断所述一个或多个第二im通信终端是否在线,并在所述第二im通信终端在线时,与所述第二im通信终端进行指令交互,并发送所述即时通信消息至所述第二im通信终端,且在第二im通信终端由离线状态变换为在线状态后,能够基于游标判断出是否需要进行消息同步。从而基于所定义的消息交互规则,实现了基于本地im服务器的im消息的即时、稳定、安全的发送,并能根据业务需要进行定制化的消息发送,避免了使用第三方云服务器,降低了成本。此外,im服务器中还限制了最大连接客户端数量以及最大消息发送频率,从而保证了im服务器的正常运行以及消息的正常收发,并避免了骚扰信息的发送;并且im服务器还基于接收用户id或接收群组id维护消息单独的消息队列,采用单独的消息进程进行消息队列中消息的发送,既保证了各个用户之间的消息收发不受影响,还保证了消息收发的有序性。

本文档来自技高网...

【技术保护点】

1.一种IM通信方法,应用于IM服务器,其特征在于,所述方法包括:

2.如权利要求1所述的方法,其特征在于,所述IM服务器中保存有当前连接列表,所述第一IM通信客户端与所述IM服务器处于连接状态;在所述接收第一IM通信客户端发送的即时通信消息之前,所述方法还包括:

3.如权利要求2所述的方法,其特征在于,所述步骤S04中建立与所述第一IM通信客户端之间的连接,具体包括:

4.如权利要求1所述的方法,其特征在于,所述即时通信消息中携带接收用户ID或者接收群组ID,所述接收第一IM通信客户端发送的即时通信消息包括:

5.如权利要求4所述的方法,其特征在于,判断所述第二IM通信客户端是否在线,若离线,则所述方法还包括:

6.如权利要求5所述的方法,其特征在于,所述若判断需要进行消息同步,则将所述即时通信消息发送至第二IM通信客户端,并在所述即时通信消息后附加ACK指令中:

7.如权利要求1至6任一项所述的方法,其特征在于,所述向所述第二IM通信客户端发送PSH指令之前,还包括:

8.一种IM通信装置,应用于IM服务器,其特征在于,所述装置包括:

9.一种IM通信系统,所述系统包括IM服务器和多个IM通信客户端,其中,所述IM服务器包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法,所述多个IM通信客户端中的每个IM通信客户端用于与所述IM服务器通信连接,以发送一个或多个消息至其他IM通信客户端。

10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。

...

【技术特征摘要】

1.一种im通信方法,应用于im服务器,其特征在于,所述方法包括:

2.如权利要求1所述的方法,其特征在于,所述im服务器中保存有当前连接列表,所述第一im通信客户端与所述im服务器处于连接状态;在所述接收第一im通信客户端发送的即时通信消息之前,所述方法还包括:

3.如权利要求2所述的方法,其特征在于,所述步骤s04中建立与所述第一im通信客户端之间的连接,具体包括:

4.如权利要求1所述的方法,其特征在于,所述即时通信消息中携带接收用户id或者接收群组id,所述接收第一im通信客户端发送的即时通信消息包括:

5.如权利要求4所述的方法,其特征在于,判断所述第二im通信客户端是否在线,若离线,则所述方法还包括:

6.如权利要求5所述的方法,其特征在于,所述若判断需要进行消息同步,则将所述即时通信消息发送至第二i...

【专利技术属性】
技术研发人员:吴孟达孙定博
申请(专利权)人:北京陌陌信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1