一种基于xmpp协议的即时通讯方法及系统的制作方法_2

文档序号:9399173阅读:来源:国知局
[0040](5)服务器根据第二回执消息中的消息ID,将存到redis数据库中的第一消息删除,跳转到步骤⑶;
[0041](6)服务器在指定时间间隔后重新发送第一消息,跳转到步骤⑷;
[0042](7)将第一消息从redis数据库删除并转存到数据库中;
[0043](8)结束。
[0044]本发明采用回执模式,并且将未收到回执的消息存入redis数据库而反复发送,只有超时情况下才不再发送,但会将该消息转存到数据库中,因此不管移动网络是否稳定都能保证消息的准确到达,实现不丢消息,不重复发送消息。
[0045]对于所述方法,可以做如下进一步设计:
[0046]1、所述第一回执和所述第二回执均根据所述第一消息的消息ID产生;根据所述第二回执中的所述消息ID将所述redis数据库中的所述第一消息删除。
[0047]2、所述方法还包括步骤:若在指定时间段内始终未收到所述第二终端发来的第二回执,则将所述第一消息转存到本地数据库并从所述redis数据库中删除所述第一消息。
[0048]3、另外,所述第一消息可以是文字、语音、图片、或文件内容的消息。因此通过本发明可以实现单聊、群聊、公共帐号、通知等业务,大大提高用户的产品体验感。
[0049]4、定义了适合自己产品的节点。通过自定义消息节点,防止别的消息协议嵌入到自己的产品中,可以屏蔽垃圾消息的侵入。
[0050]5、对所述第一消息中的文本内容进行加密处理后再发送给所述第二终端;对所述第一消息中的非文本内容,仅将所述非文本内容在本地保存后的url发送给所述第二终端,在所述目标用户查看所述第一消息时再传送所述非文本内容给所述第二终端。这样能够防止信息泄漏,避免造成不必要的损失。
[0051]例如,所述第一消息是语音、图片、文件内容的消息时,采用以url传输的方式,用户A将第一消息发送到服务器,再将url地址发送给用户B,用户B查看第一消息的同时,从服务器中拉去所对应的信息。采用这种方式既节省流量,又能保证消息的发送速度。
[0052]6、所述预定时间为20秒,所述指定时间段为180秒。采用这样的预定时间和指定时间段能够保证接收端有足够的反应时间,也能够避免发送端反复发送消息太多次而造成资源浪费。当然也可以根据实际情况来设置预定时间和指定时间段。
[0053]对于所述系统,可以做如下进一步设计:
[0054]1、所述第一回执和所述第二回执均根据所述第一消息的消息ID产生;根据所述第二回执中的所述消息ID将所述redis数据库中的所述第一消息删除。
[0055]2、所述系统还包括:超时模块,用于在指定时间段内始终未收到所述第二终端发来的第二回执时,将所述第一消息转存到本地数据库并从所述redis数据库中删除所述第一消息。
[0056]3、另外,所述第一消息可以是文字、语音、图片、或文件内容的消息。因此通过本发明可以实现单聊、群聊、公共帐号、通知等业务,大大提高用户的产品体验感。
[0057]4、定义了适合自己产品的节点。通过自定义消息节点,防止别的消息协议嵌入到自己的产品中,可以屏蔽垃圾消息的侵入。
[0058]5、所述系统还包括:消息处理模块,用于对所述第一消息中的文本内容进行加密处理后再发送给所述第二终端;对所述第一消息中的非文本内容,仅将所述非文本内容在本地保存后的url发送给所述第二终端,在所述目标用户查看所述第一消息时再传送所述非文本内容给所述第二终端。这样能够防止信息泄漏,避免造成不必要的损失。
[0059]例如,所述第一消息是语音、图片、文件内容的消息时,采用以url传输的方式,用户A将第一消息发送到服务器,再将url地址发送给用户B,用户B查看第一消息的同时,从服务器中拉去所对应的信息。采用这种方式既节省流量,又能保证消息的发送速度。
[0060]6、所述预定时间为20秒,所述指定时间段为180秒。采用这样的预定时间和指定时间段能够保证接收端有足够的反应时间,也能够避免发送端反复发送消息太多次而造成资源浪费。当然也可以根据实际情况来设置预定时间和指定时间段。
[0061]以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。
【主权项】
1.一种基于XMPP协议的即时通讯方法,其特征在于:包括以下步骤: (1)接收第一终端发来的第一消息,根据所述第一消息向所述第一终端发送第一回执; (2)将所述第一消息转发给所述第一消息的目标用户所在的第二终端,同时将所述第一消息存入redis数据库中; (3)在预定时间内若没有收到所述第二终端发来的第二回执,则将所述第一消息重新发送给所述第二终端;若收到所述第二终端发来的第二回执,则根据所述第二回执将所述redis数据库中的所述第一消息删除。2.根据权利要求1所述的基于XMPP协议的即时通讯方法,其特征在于:所述第一回执和所述第二回执均根据所述第一消息的消息ID产生;根据所述第二回执中的所述消息ID将所述redis数据库中的所述第一消息删除。3.根据权利要求1所述的基于XMPP协议的即时通讯方法,其特征在于,所述方法还包括步骤:若在指定时间段内始终未收到所述第二终端发来的第二回执,则将所述第一消息转存到本地数据库并从所述redis数据库中删除所述第一消息。4.根据权利要求1所述的基于XMPP协议的即时通讯方法,其特征在于:对所述第一消息中的文本内容进行加密处理后再发送给所述第二终端;对所述第一消息中的非文本内容,仅将所述非文本内容在本地保存后的url发送给所述第二终端,在所述目标用户查看所述第一消息时再传送所述非文本内容给所述第二终端。5.根据权利要求3所述的基于XMPP协议的即时通讯方法,其特征在于:所述预定时间为20秒,所述指定时间段为180秒。6.一种基于XMPP协议的即时通讯系统,其特征在于,所述系统包括: 第一接收模块,用于接收第一终端发来的第一消息,根据所述第一消息向所述第一终端发送第一回执; 转发模块,用于将所述第一消息转发给所述第一消息的目标用户所在的第二终端,同时将所述第一消息存入redis数据库中; 第二接收模块,用于在预定时间内没有收到所述第二终端发来的第二回执时,将所述第一消息重新发送给所述第二终端;或用于在收到所述第二终端发来的第二回执时,根据所述第二回执将所述redis数据库中的所述第一消息删除。7.根据权利要求6所述的基于XMPP协议的即时通讯系统,其特征在于,所述第一回执和所述第二回执均根据所述第一消息的消息ID产生;根据所述第二回执中的所述消息ID将所述redis数据库中的所述第一消息删除。8.根据权利要求6所述的基于XMPP协议的即时通讯系统,其特征在于,所述系统还包括:超时模块,用于在指定时间段内始终未收到所述第二终端发来的第二回执时,将所述第一消息转存到本地数据库并从所述redis数据库中删除所述第一消息。9.根据权利要求6所述的基于XMPP协议的即时通讯系统,其特征在于,所述系统还包括:消息处理模块,用于对所述第一消息中的文本内容进行加密处理后再发送给所述第二终端;对所述第一消息中的非文本内容,仅将所述非文本内容在本地保存后的url发送给所述第二终端,在所述目标用户查看所述第一消息时再传送所述非文本内容给所述第二终端。10.根据权利要求8所述的基于XMPP协议的即时通讯系统,其特征在于:所述预定时间为20秒,所述指定时间段为180秒。
【专利摘要】公开一种基于XMPP协议的即时通讯方法,其不管移动网络是否稳定都能保证消息的准确到达,实现不丢消息,不重复发送消息。该方法包括步骤:(1)接收第一终端发来的第一消息,根据所述第一消息向所述第一终端发送第一回执;(2)将所述第一消息转发给所述第一消息的目标用户所在的第二终端,同时将所述第一消息存入redis数据库中;(3)在预定时间内若没有收到所述第二终端发来的第二回执,则将所述第一消息重新发送给所述第二终端;若收到所述第二终端发来的第二回执,则根据所述第二回执将所述redis数据库中的所述第一消息删除。还提供了一种基于XMPP协议的即时通讯系统。
【IPC分类】H04L12/58
【公开号】CN105119810
【申请号】CN201510477679
【发明人】李玉福
【申请人】北京农信互联科技有限公司
【公开日】2015年12月2日
【申请日】2015年8月6日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1