首页
社区
课程
招聘
[原创专利13]一种即时通信方法和装置
发表于: 2016-3-3 00:27 8017

[原创专利13]一种即时通信方法和装置

2016-3-3 00:27
8017
摘要
本申请提供一种即时通信方法和装置。所述方法包括:接收发送成员的客户端发送的会话消息;判断所述会话消息的目标成员是否已经阅读过所述会话消息;如果所述会话消息的目标成员已经阅读过所述会话消息,则在所述会话消息中添加已读标识后转发给所述目标成员的客户端,以供所述目标成员的客户端根据所述已读标识不为所述会话消息添加未读提示。通过本申请的技术方案,可以避免目标成员接收到重复会话消息的未读提示,大大提升用户的使用体验。
权利要求书
1.  一种即时通信方法,应用在服务端上,其特征在于,所述方法包括:
接收发送成员的客户端发送的会话消息;
判断所述会话消息的目标成员是否已经阅读过所述会话消息;
如果所述会话消息的目标成员已经阅读过所述会话消息,则在所述会话消息中添加已读标识后转发给所述目标成员的客户端,以供所述目标成员的客户端根据所述已读标识不为所述会话消息添加未读提示。

2.  根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到发送成员的客户端发送的会话消息后,为所述会话消息生成内容标识;
将所述内容标识添加在所述会话消息中;
接收目标成员的客户端在目标成员阅读过所述会话消息后发送的已读通知,所述已读通知中携带有所述会话消息的内容标识;
将所述内容标识保存在所述目标成员对应的缓存区。

3.  根据权利要求2所述的方法,其特征在于,
所述判断所述会话消息的目标成员是否已经阅读过所述会话消息包括:
判断所述目标成员对应的缓存区中是否缓存有所述会话消息的内容标识;
如果所述目标成员对应的缓存区中缓存有所述会话消息的内容标识,则确认所述会话消息的目标成员已经阅读过所述会话消息。

4.  根据权利要求2所述的方法,其特征在于,所述方法还包括:
将所述内容标识保存在所述目标成员对应的缓存区后,启动目标成员预设的定时器;
在所述定时器超时时,在所述目标成员对应的缓存区中删除所述内容标识。

5.  根据权利要求2所述的方法,其特征在于,
所述为所述会话消息生成内容标识包括:
通过哈希算法为所述会话消息生成内容标识。

6.  根据权利要求2所述的方法,其特征在于,
所述为所述会话消息生成内容标识包括:
在所述会话消息中聊天内容的大小超过预设的门限时,为所述会话消息生成内容标识。

7.  一种即时通信方法,应用在客户端上,其特征在于,所述方法包括:
接收服务端转发的会话消息;
判断所述会话消息中是否携带有已读标识;
如果所述会话消息中携带有已读标识,则不为所述会话消息添加未读提示。

8.  根据权利要求7所述的方法,其特征在于,
如果所述会话消息中没有携带已读标识,则为所述会话消息添加未读提示,以提示用户阅读;
在用户阅读所述会话消息后,发送已读通知给服务端,所述已读通知中携带有所述会话消息的内容标识,以供服务端保存所述内容标识。

9.  根据权利要求8所述的方法,其特征在于,所述方法还包括:
在用户阅读所述会话消息后,清除所述会话消息的未读提示;
查看带有未读提示的会话消息中是否存在有与所述会话消息相同的会话消息;
如果带有未读提示的会话消息中存在有与所述会话消息内容相同的会话消息,则清除与所述会话消息相同的会话消息的未读提示。

10.  一种即时通信装置,应用在服务端上,其特征在于,所述装置包括:
第一接收单元,接收发送成员的客户端发送的会话消息;
第一判断单元,判断所述会话消息的目标成员是否已经阅读过所述会话消息;
第一添加单元,在所述会话消息的目标成员已经阅读过所述会话消息时,在所述会话消息中添加已读标识后转发给所述目标成员的客户端,以供所述        目标成员的客户端根据所述已读标识不为所述会话消息添加未读提示。

11.  根据权利要求10所述的装置,其特征在于,所述装置还包括:
标识生成单元,在接收到发送成员的客户端发送的会话消息后,为所述会话消息生成内容标识;
第二添加单元,将所述内容标识添加在所述会话消息中;
通知接收单元,接收目标成员的客户端在目标成员阅读过所述会话消息后发送的已读通知,所述已读通知中携带有所述会话消息的内容标识;
标识缓存单元,将所述内容标识保存在所述目标成员对应的缓存区。

12.  根据权利要求11所述的装置,其特征在于,
所述第一判断单元,具体判断所述目标成员对应的缓存区中是否缓存有所述会话消息的内容标识;如果所述目标成员对应的缓存区中缓存有所述会话消息的内容标识,则确认所述会话消息的目标成员已经阅读过所述会话消息。

13.  根据权利要求11所述的装置,其特征在于,所述装置还包括:
定时启动单元,将所述内容标识保存在所述目标成员对应的缓存区后,启动目标成员预设的定时器;
缓存删除单元,在所述定时器超时时,在所述目标成员对应的缓存区中删除所述内容标识。

14.  根据权利要求11所述的装置,其特征在于,
所述标识生成单元,具体通过哈希算法为所述会话消息生成内容标识。

15.  根据权利要求11所述的装置,其特征在于,
所述标识生成单元,具体在所述会话消息中聊天内容的大小超过预设的门限时,为所述会话消息生成内容标识。

16.  一种即时通信装置,应用在客户端上,其特征在于,所述装置包括:
第二接收单元,接收服务端转发的会话消息;
第二判断单元,判断所述会话消息中是否携带有已读标识;
提示添加单元,在所述会话消息中携带有已读标识时,不为所述会话消        息添加未读提示。

17.  根据权利要求16所述的装置,其特征在于,
所述提示添加单元,在所述会话消息中没有携带已读标识时,为所述会话消息添加未读提示,以提示用户阅读;
所述装置还包括:
已读通知单元,在用户阅读所述会话消息后,发送已读通知给服务端,所述已读通知中携带有所述会话消息的内容标识,以供服务端保存所述内容标识。

18.  根据权利要求17所述的装置,其特征在于,所述装置还包括:
提示清除单元,在用户阅读所述会话消息后,清除所述会话消息的未读提示;
提示查看单元,查看带有未读提示的会话消息中是否存在有与所述会话消息相同的会话消息;
所述提示清除单元,在带有未读提示的会话消息中存在有与所述会话消息内容相同的会话消息时,清除与所述会话消息相同的会话消息的未读提示。

说明书
一种即时通信方法和装置
技术领域
本申请涉及通信技术领域,尤其涉及一种即时通信方法和装置。
背景技术
随着互联网技术的广泛发展,即时通信技术给人们的工作与生活带来了各种便利。从早期的ICQ以及OICQ(今日广泛使用的QQ)到如今更新一代的微信以及来往等,即时通信技术正在不断地向着更加便利用户的方向演进。
目前,当会话消息的发送成员通过客户端将信息发送给服务端后,服务端将所述会话消息转发给目标成员的客户端,目标成员的客户端为所述会话消息添加未读提示,以提醒目标成员当前有一条未读的会话消息。所述目标成员要手动逐个清除客户端所有的未读提示,使用体验较差。
发明内容
有鉴于此,本申请提供一种即时通信方法和装置。
具体地,本申请是通过如下技术方案实现的:
一种即时通信方法,应用在服务端上,所述方法包括:
接收发送成员的客户端发送的会话消息;
判断所述会话消息的目标成员是否已经阅读过所述会话消息;
如果所述会话消息的目标成员已经阅读过所述会话消息,则在所述会话消息中添加已读标识后转发给所述目标成员的客户端,以供所述目标成员的客户端根据所述已读标识不为所述会话消息添加未读提示。
进一步地,所述方法还包括:
在接收到发送成员的客户端发送的会话消息后,为所述会话消息生成内容标识;
将所述内容标识添加在所述会话消息中;
接收目标成员的客户端在目标成员阅读过所述会话消息后发送的已读通知,所述已读通知中携带有所述会话消息的内容标识;
将所述内容标识保存在所述目标成员对应的缓存区。
进一步地,所述判断所述会话消息的目标成员是否已经阅读过所述会话消息包括:
判断所述目标成员对应的缓存区中是否缓存有所述会话消息的内容标识;
如果所述目标成员对应的缓存区中缓存有所述会话消息的内容标识,则确认所述会话消息的目标成员已经阅读过所述会话消息。
进一步地,所述方法还包括:
将所述内容标识保存在所述目标成员对应的缓存区后,启动目标成员预设的定时器;
在所述定时器超时时,在所述目标成员对应的缓存区中删除所述内容标识。
进一步地,所述为所述会话消息生成内容标识包括:
通过哈希算法为所述会话消息生成内容标识。
进一步地,所述为所述会话消息生成内容标识包括:
在所述会话消息中聊天内容的大小超过预设的门限时,为所述会话消息生成内容标识。
一种即时通信方法,应用在客户端上,所述方法包括:
接收服务端转发的会话消息;
判断所述会话消息中是否携带有已读标识;
如果所述会话消息中携带有已读标识,则不为所述会话消息添加未读提示。
进一步地,如果所述会话消息中没有携带已读标识,则为所述会话消息添加未读提示,以提示用户阅读;
在用户阅读所述会话消息后,发送已读通知给服务端,所述已读通知中携带有所述会话消息的内容标识,以供服务端保存所述内容标识。
进一步地,所述方法还包括:
在用户阅读所述会话消息后,清除所述会话消息的未读提示;
查看带有未读提示的会话消息中是否存在有与所述会话消息相同的会话消息;
如果带有未读提示的会话消息中存在有与所述会话消息内容相同的会话消息,则清除与所述会话消息相同的会话消息的未读提示。
一种即时通信装置,应用在服务端上,所述装置包括:
第一接收单元,接收发送成员的客户端发送的会话消息;
第一判断单元,判断所述会话消息的目标成员是否已经阅读过所述会话消息;
第一添加单元,在所述会话消息的目标成员已经阅读过所述会话消息时,在所述会话消息中添加已读标识后转发给所述目标成员的客户端,以供所述目标成员的客户端根据所述已读标识不为所述会话消息添加未读提示。
进一步地,所述装置还包括:
标识生成单元,在接收到发送成员的客户端发送的会话消息后,为所述会话消息生成内容标识;
第二添加单元,将所述内容标识添加在所述会话消息中;
通知接收单元,接收目标成员的客户端在目标成员阅读过所述会话消息后发送的已读通知,所述已读通知中携带有所述会话消息的内容标识;
标识缓存单元,将所述内容标识保存在所述目标成员对应的缓存区。
进一步地,所述第一判断单元,具体判断所述目标成员对应的缓存区中是否缓存有所述会话消息的内容标识;如果所述目标成员对应的缓存区中缓存有所述会话消息的内容标识,则确认所述会话消息的目标成员已经阅读过        所述会话消息。
进一步地,所述装置还包括:
定时启动单元,将所述内容标识保存在所述目标成员对应的缓存区后,启动目标成员预设的定时器;
缓存删除单元,在所述定时器超时时,在所述目标成员对应的缓存区中删除所述内容标识。
进一步地,所述标识生成单元,具体通过哈希算法为所述会话消息生成内容标识。
进一步地,所述标识生成单元,具体在所述会话消息中聊天内容的大小超过预设的门限时,为所述会话消息生成内容标识。
一种即时通信装置,应用在客户端上,所述装置包括:
第二接收单元,接收服务端转发的会话消息;
第二判断单元,判断所述会话消息中是否携带有已读标识;
提示添加单元,在所述会话消息中携带有已读标识时,不为所述会话消息添加未读提示。
进一步地,所述提示添加单元,在所述会话消息中没有携带已读标识时,为所述会话消息添加未读提示,以提示用户阅读;
所述装置还包括:
已读通知单元,在用户阅读所述会话消息后,发送已读通知给服务端,所述已读通知中携带有所述会话消息的内容标识,以供服务端保存所述内容标识。
进一步地,所述装置还包括:
提示清除单元,在用户阅读所述会话消息后,清除所述会话消息的未读提示;
提示查看单元,查看带有未读提示的会话消息中是否存在有与所述会话消息相同的会话消息;
所述提示清除单元,在带有未读提示的会话消息中存在有与所述会话消        息内容相同的会话消息时,清除与所述会话消息相同的会话消息的未读提示。
由以上描述可以看出,本申请服务端在为即时通信的发送成员转发会话消息时,判断所述会话消息的目标成员是否已经阅读过所述会话消息,在所述目标成员已经阅读过所述会话消息时,通过在所述会话消息中添加已读标识以供目标成员的客户端在识别出所述已读标识后不为所述会话消息添加未读提示,以避免目标成员接收到重复会话消息的未读提示,大大提升用户的使用体验。
附图说明
图1是本申请一实施例中即时通信方法的流程示意图。
图2是本申请另一实施例中即时通信方法的流程示意图。
图3是本申请另一实施例中即时通信方法的流程示意图。
图4是本申请一实施例中服务端的结构示意图。
图5是本申请一实施例中即时通信装置的逻辑结构示意图。
图6是本申请一实施例中客户端的结构示意图。
图7是本申请另一实施例中即时通信装置的逻辑结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项        目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
针对上述问题,本申请提供一种即时通信方案。
请参考图1,本申请提供一种即时通信方法,应用在服务端上,所述方法包括以下步骤:
步骤101,接收发送成员的客户端发送的会话消息。
步骤102,判断所述会话消息的目标成员是否已经阅读过所述会话消息。
步骤103,如果所述会话消息的目标成员已经阅读过所述会话消息,则在所述会话消息中添加已读标识后转发给所述目标成员的客户端,以供所述目标成员的客户端根据所述已读标识不为所述会话消息添加未读提示。
请参考图2,本申请提供一种即时通信方法,应用在客户端上,所述方法包括以下步骤:
步骤201,接收服务端转发的会话消息。
步骤202,判断所述会话消息中是否携带有已读标识。
步骤203,如果所述会话消息中携带有已读标识,则不为所述会话消息添加未读提示。
由以上描述可以看出,本申请服务端在为即时通信的发送成员转发会话消息时,判断所述会话消息的目标成员是否已经阅读过所述会话消息,在所述目标成员已经阅读过所述会话消息时,通过在所述会话消息中添加已读标识以供目标成员的客户端在识别出所述已读标识后不为所述会话消息添加未读提示,以避免目标成员接收到重复会话消息的未读提示,大大提升用户的使用体验。
下面结合实施例详细描述本申请的具体实现。
请参考图3,本申请一种实施例中即时通信方法的流程示意图,所述方法包括以下步骤:
步骤301,服务端在接收到发送成员的客户端发送的会话消息后,为所述会话消息生成内容标识。
在即时通信的过程中,即时通信两端成员的客户端通过服务端进行会话消息的转发。通常来讲,发送成员发送的会话消息中会携带有发送成员以及目标成员的身份标识、聊天内容等信息,服务端根据所述目标成员的身份标识,将所述会话消息转发给目标成员的客户端。对于群组聊天而言,发送成员发送的会话消息中还携带有群组标识,以供服务端根据所述群组标识查找该群组的成员并进行所述会话消息的转发。这部分的处理与实现可以参考现有技术,本申请在此不再一一详述。
在本申请中,服务端在接收到发送成员的客户端发送的会话消息后,为所述会话消息生成内容标识。所述内容标识是所述会话消息中聊天内容的唯一标识,相同的聊天内容的内容标识相同。在本步骤中,服务端将所述内容标识添加在所述会话消息中,比如:将所述内容标识添加到通信报文预设的字段中,以使得客户端和服务端后续可以根据所述内容标识来区分相同的聊天内容。
具体地,服务端在接收到会话消息后,根据其与客户端的通信协议可以从所述会话消息中解析出发送成员发送的聊天内容,然后可以通过哈希算法为所述聊天内容生成所述内容标识。比如:服务端可以通过双哈希算法为所述聊天内容生成一个16位的哈希值,并将所述哈希值作为所述内容标识。当然,本领域技术人员也可以通过其他方式生成所述内容标识,本申请对此不做限制。
在本申请一种优选的实施例中,服务端在接收到会话消息后,首先判断所述会话消息中聊天内容的大小,并在所述聊天内容的大小超过预设的门限时,为所述聊天内容生成内容标识。所述聊天内容的大小可以间接表示文字        聊天内容的字数,在本实施例中,服务端仅为超过一定字数的文字聊天内容生成所述内容标识,比如:超过40字。这是因为,在即时通信中,超过一定字数的文字聊天内容是通知、广告的概率较大,用户的关注度较低,对于这种聊天内容,相同或者不同的发送成员重复发送的概率较高。除此之外,本申请服务端也可以为特定的聊天内容生成内容标识,比如:超文本链接、图片、视频等,本申请对此不做限制。
步骤302,服务端判断所述会话消息的目标成员是否已经阅读过所述会话消息,如果是,则执行步骤303。
在本步骤中,服务端判断所述目标成员是否已经阅读过所述会话消息是指判断所述目标成员是否已经阅读过所述会话消息的聊天内容。所述服务端可以通过判断所述目标成员对应的缓存区中是否缓存有所述会话消息的内容标识来判断所述目标成员是否已经阅读过所述会话消息。
具体地,在服务端上,可以为每个目标成员设置一个对应的缓存区,用来存储目标成员的客户端在目标成员阅读过会话消息后上报的所述会话消息的内容标识。服务端在接收到发送成员发送的会话消息后,为所述会话消息生成内容标识,然后判断所述会话消息的目标成员的缓存区域中是否保存有所述内容标识,如果保存有所述内容标识,则可以确认所述目标成员已经阅读过所述会话消息,执行步骤303。如果没有保存所述内容标识,则可以确认所述目标成员还没有阅读过所述会话消息,则服务端直接将携带有内容标识的所述会话消息转发给目标成员的客户端。
步骤303,服务端在所述会话消息中添加已读标识后转发给所述目标成员的客户端。
在本步骤中,可以在客户端与服务端通信的会话消息中预设一个字段用于携带所述已读标识。比如:可以在所述会话消息中预设一个标志位,所述标志位默认为未读,举例来说,所述标志位默认为0,表示未读。当服务端判断目标成员已经阅读过所述会话消息后,可以将所述标志位置为1,用1来表示所述已读标识。当然,本领域技术人员也可以采取其他的方式来添加        所述已读标识,本申请对比不做限制。
步骤304,客户端在接收到服务端转发的会话消息后,判断所述会话消息中是否携带有已读标识。如果否,则执行步骤305。如果是,则执行步骤309。
步骤305,客户端为所述会话消息添加未读提示,以提示用户阅读。
在即时通信过程中,通常来讲,当客户端接收到服务端转发的会话消息后,都会为所述会话消息添加未读提示,比如:在所述会话消息所属的群组或者发送成员的会话栏上标注红点,以提示用户当前有来自该群组或者该发送成员的未读消息。
步骤306,客户端在用户阅读所述会话消息之后,清除所述会话消息的未读提示,并发送已读通知给服务端。
用户可以通过点击开启带有未读提示的会话栏来阅读未读的会话消息,在用户点击开启所述会话栏后,客户端就会清除所述会话栏上的红点。这部分的处理与实现可以参考现有技术,本申请在此不再一一详述。
在本步骤中,客户端在用户阅读所述会话消息后,发送已读通知给服务端,通知服务端用户已经阅读过所述会话消息。具体地,客户端获取所述会话消息的内容标识,然后将所述内容标识携带在所述已读通知中发送给服务端,以供服务端将所述内容标识保存在所述用户对应的缓存区中。
进一步地,客户端清除用户阅读过的所述会话消息的未读提示后,查看当前带有未读提示的会话消息中是否还存在有与所述会话消息相同的会话消息。具体地,客户端逐个查看当前带有未读提示的会话消息的内容标识和用户阅读过的会话消息的内容标识是否一致,如果一致,则说明当前代理未读提示的会话消息的聊天内容和用户阅读过的会话消息的聊天内容一致,清除所述当前带有未读提示的会话消息的未读提示,以避免用户重复阅读。
举例来说,服务端接收到发送给目标成员A的会话消息1,通过计算得到所述会话消息的内容标识B,然后查看所述目标成员A对应的缓存区中没有缓存所述内容标识B,于是将所述会话消息1添加内容标识B后发送给目        标成员A,目标成员A的客户端为所述会话消息1生成未读提示。服务端进而又接收到发送给目标成员A的会话消息2,通过计算得到所述会话消息的内容标识B,然后查看所述目标成员A对应的缓存区中没有缓存所述内容标识B,于是将所述会话消息2添加内容标识B发送给目标成员A,目标成员A的客户端为所述会话消息2生成未读提示。如果目标成员阅读了会话消息2,客户端清除所述会话消息2的未读提示后,生成携带有内容标识B的已读通知发送给服务端,服务端将内容标识B保存在目标成员A对应的缓存区。而此时,客户端经查看会发现带有未读提示的会话消息1的内容标识与所述会话消息2的内容标识一致,则客户端清除所述会话消息1的未读提示。后续,服务端再接收到内容标识为B的发送给目标成员A的会话消息时,就会在所述会话消息中添加已读提示,以提示目标成员A的客户端不为所述会话消息添加未读提示。
步骤307,服务端接收目标成员的客户端在目标成员阅读过所述会话消息后发送的已读通知,所述已读通知中携带有所述会话消息的内容标识。
步骤308,服务端将所述内容标识保存在所述目标成员对应的缓存区。
在本步骤中,服务端将所述内容标识保存在所述目标成员对应的缓存区中,以便于为目标成员已经阅读过的会话消息添加已读标识。
进一步地,本申请支持用户自行设置不对重复的会话消息进行未读提示的时长。具体地,用户可以通过客户端提供的选项对所述时长进行设置。比如:用户可以设置24小时之内不对重复的会话消息进行未读提示。在实际应用中,客户端可以将所述时长发送给服务端,服务端在将客户端发送的已读通知中的内容标识保存在对应的缓存区之后,可以通过启动定时器来实现计时的过程,以前面描述为例,所述定时器的时长时24小时,在所述定时器超时时,服务端在所述缓存区中删除所述内容标识。这样,服务端再接收到内容标识相同的会话信息时,经前述步骤302判断结果为否,不在所述会话信息中添加已读标识,进而使得客户端为所述会话信息添加未读提示。
步骤309,客户端不为所述会话消息添加未读提示。
基于前述步骤304,客户端在判断所述会话消息中携带有已读标识后,不为所述会话消息添加未读提示,即不在所述会话消息所属的群组或者发送成员的会话栏上标注红点,以避免用户重复阅读。需要说明的是,客户端还是会将所述会话消息中携带的聊天内容呈现在相应的聊天记录中,如果用户点击查看该聊天记录,仍然可以看到所述聊天内容。
由以上描述可以看出,本申请服务端在为即时通信的发送成员转发会话消息时,判断所述会话消息的目标成员是否已经阅读过所述会话消息,在所述目标成员已经阅读过所述会话消息时,通过在所述会话消息中添加已读标识以供目标成员的客户端在识别出所述已读标识后不为所述会话消息添加未读提示,以避免目标成员接收到重复会话消息的未读提示,大大提升用户的使用体验。
需要说明的是,本申请不区分发送成员的身份,也不区分发送成员发送的会话消息是群组会话消息还是单聊会话消息。在本申请中,仅以会话消息的内容标识为识别对象,如果发送给同一个目标成员的会话消息的内容标识相同,就可以根据上述实现过程,避免目标成员接收到重复会话消息的未读提示,提升使用体验。
与本申请即时通信方法的实施例相对应,本申请还提供了一种即时通信装置,分别应用在服务端和客户端上。本申请所述的装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,本申请校验装置作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。
请参考图4和图5,本申请提供的一种即时通信装置400,应用在服务端上,所述装置400包括有:第一接收单元401、第一判断单元402、第一添加单元403、标识生成单元404、第二添加单元405、通知接收单元406、标识缓存单元407、定时启动单元408以及缓存删除单元409。
所述第一接收单元401,接收发送成员的客户端发送的会话消息。
所述第一判断单元402,判断所述会话消息的目标成员是否已经阅读过        所述会话消息。
所述第一添加单元403,在所述会话消息的目标成员已经阅读过所述会话消息时,在所述会话消息中添加已读标识后转发给所述目标成员的客户端,以供所述目标成员的客户端根据所述已读标识不为所述会话消息添加未读提示。
所述标识生成单元404,在接收到发送成员的客户端发送的会话消息后,为所述会话消息生成内容标识。
所述第二添加单元405,将所述内容标识添加在所述会话消息中。
所述通知接收单元406,接收目标成员的客户端在目标成员阅读过所述会话消息后发送的已读通知,所述已读通知中携带有所述会话消息的内容标识。
所述标识缓存单元407,将所述内容标识保存在所述目标成员对应的缓存区。
所述第一判断单元401,具体判断所述目标成员对应的缓存区中是否缓存有所述会话消息的内容标识;如果所述目标成员对应的缓存区中缓存有所述会话消息的内容标识,则确认所述会话消息的目标成员已经阅读过所述会话消息。
所述定时启动单元408,将所述内容标识保存在所述目标成员对应的缓存区后,启动目标成员预设的定时器;
所述缓存删除单元409,在所述定时器超时时,在所述目标成员对应的缓存区中删除所述内容标识。
进一步地,所述标识生成单元404,具体通过哈希算法为所述会话消息生成内容标识。
进一步地,所述标识生成单元404,具体在所述会话消息中聊天内容的大小超过预设的门限时,为所述会话消息生成内容标识。
请参考图6和图7,本申请提供的一种即时通信装置600,应用在客户端上,所述装置600包括有:第二接收单元601、第二判断单元602、提示添加        单元603、已读通知单元604、提示清除单元605以及提示查看单元606。
所述第二接收单元601,接收服务端转发的会话消息。
所述第二判断单元602,判断所述会话消息中是否携带有已读标识。
所述提示添加单元603,在所述会话消息中携带有已读标识时,不为所述会话消息添加未读提示。
所述提示添加单元603,在所述会话消息中没有携带已读标识时,为所述会话消息添加未读提示,以提示用户阅读。
所述已读通知单元604,在用户阅读所述会话消息后,发送已读通知给服务端,所述已读通知中携带有所述会话消息的内容标识,以供服务端保存所述内容标识。
所述提示清除单元605,在用户阅读所述会话消息后,清除所述会话消息的未读提示。
所述提示查看单元606,查看带有未读提示的会话消息中是否存在有与所述会话消息相同的会话消息。
所述提示清除单元605,在带有未读提示的会话消息中存在有与所述会话消息内容相同的会话消息时,清除与所述会话消息相同的会话消息的未读提示。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//