CN105681160B - 一种即时通信系统中纠正会话消息乱序的方法及装置 - Google Patents
一种即时通信系统中纠正会话消息乱序的方法及装置 Download PDFInfo
- Publication number
- CN105681160B CN105681160B CN201410677710.8A CN201410677710A CN105681160B CN 105681160 B CN105681160 B CN 105681160B CN 201410677710 A CN201410677710 A CN 201410677710A CN 105681160 B CN105681160 B CN 105681160B
- Authority
- CN
- China
- Prior art keywords
- message
- conversation
- conversation message
- terminal
- time tag
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种即时通信系统中纠正会话消息乱序的方法及装置,用以解决现有即时通讯系统中由于消息乱序而产生上下文丢失的问题。本发明包括:获取服务器发送的第二会话消息和第二会话消息的时间标签,其中,第二会话消息的时间标签由服务器根据接收到第二终端的即时通信应用发送的第二会话消息的时间生成;根据第二会话消息的时间标签以及第一终端的即时通信应用的第一聊天窗口中显示的其他会话消息的时间标签,按照时间顺序调整第二会话消息与其他会话消息之间的顺序,并在第一聊天窗口中显示顺序调整后的多个会话消息,其中,其他会话消息的时间标签由所述服务器根据接收到其他会话消息的时间生成。
Description
技术领域
本发明涉及通信应用的技术领域,特别是指一种即时通信系统中纠正会话消息乱序的方法及装置。
背景技术
现有的即时聊天工具或短信息服务,经常会遇到因消息乱序而产生上下文丢失,有时会引起误解。目前关于消息发送顺序已知成熟的技术是已成为国际协议标准的传输控制协议(TCP),其原理如图1所示。
1.通过三次握手建立可靠的连接关系:
1)客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。
2)服务器端收到SYN报文,回应一个SYN(SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态。
3)客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态。
三次握手完成,TCP客户端和服务器端成功地建立连接,可以开始传输数据。
2.通过发送确认消息保证可靠的传输:
1)应用数据被分割成TCP认为最适合发送的数据块。
2)当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。当TCP收到发自TCP连接另一端的数据,它将发送一个确认。
3)TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP将丢弃这个报文段和不确认收到此报文段(希望发端超时并重发)。
4)如果必要,TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层。
5)TCP的接收端必须丢弃重复的数据。
TCP还能提供流量控制。TCP连接的每一方都有固定大小的缓冲空间。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据。这将防止较快主机致使较慢主机的缓冲区溢出。
6)TCP协议应用场景为C-S结构中保证数据发送方(Client)向数据接收方(Server)发送可靠的消息流,其保障机制在于接收方确认已收到的报文,发送方才会发送下一个消息。
但TCP协议一般应用于发送大块可靠文件,例如FTP传输、邮件传输等。对于即时通讯系统来说,消息的发送不能受此限制,并且其顺序敏感度并没有这么高,因此TCP协议不适用于即时通信系统场景。即时通信系统中消息乱序的原因有两种,一是输入文字的快慢不同,二是网络传输的延迟。在网络聊天系统中,这两个问题成为影响交流体验的因素,需要在即时聊天系统中考虑增加纠正消息乱序的能力。
发明内容
本发明的目的在于提供一种即时通信系统中纠正会话消息乱序的方法及装置,用以解决现有即时通讯系统中由于消息乱序而产生上下文丢失的问题。
为了实现上述目的,本发明提供了一种即时通信系统中纠正会话消息乱序的方法,包括:
获取用户通过第一终端的即时通信应用输入的第一会话消息,并将所述第一会话消息发送至服务器,由所述服务器生成用于标识所述第一会话消息的第一消息标签,并由所述服务器将所述第一会话消息和所述第一消息标签发送至第二终端的即时通信应用;
接收所述服务器发送的所述第一消息标签,并在所述第一终端的即时通信应用的第一聊天窗口显示所述第一会话消息,所述第一聊天窗口还显示有其他会话消息;
获取所述用户在所述第一聊天窗口中调整所述第一会话消息与所述第一聊天窗口中显示的其他会话消息之间的顺序的手动调整操作;
根据所述手动调整操作在所述第一聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息;
显示顺序调整完之后,根据所述手动调整操作以及与显示顺序调整所涉及的会话消息的消息标签生成会话消息调整请求,并将所述会话消息调整请求发送至所述服务器,通过所述服务器将所述会话消息调整请求发送至显示所述第一会话消息的第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求在第二聊天窗口中调整所述第一会话消息与其他会话消息之间的顺序。
其中,所述显示顺序调整完之后,根据所述手动调整操作以及与显示顺序调整所涉及的会话消息的消息标签生成会话消息调整请求,并将所述会话消息调整请求发送至所述服务器,通过所述服务器将所述会话消息调整请求发送至显示所述第一会话消息的第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求在第二聊天窗口中调整所述第一会话消息与其他会话消息之间的顺序的步骤包括:
根据所述手动调整操作,生成所述第一会话消息的第一消息标签与被关联会话消息的消息标签的关联信息;
生成包含所述关联信息的会话消息调整请求,并将所述会话消息调整请求发送至所述服务器,通过所述服务器将所述会话消息调整请求发送至显示所述第一会话消息的第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求中的关联信息,在所述第二聊天窗口中将所述第一会话消息显示在所述被关联会话消息所处位置之后,并将原处于所述被关联会话消息之后的会话消息显示在所述第一会话消息之后。
其中,上述方法还包括:
接收所述服务器发送的第二会话消息和第二会话消息的时间标签,其中,所述第二会话消息的时间标签由所述服务器根据接收到所述第二终端的即时通信应用发送的第二会话消息的时间生成;
根据所述第二会话消息的时间标签以及所述其他会话消息的时间标签,按照时间顺序调整所述第二会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息,其中,所述其他会话消息的时间标签由所述服务器根据接收到所述其他会话消息的时间生成。
其中,所述根据第二会话消息的时间标签以及所述其他会话消息的时间标签,按照时间顺序调整所述第一会话消息与所述其他会话消息之间的顺序的步骤具体为:
判断所述第二会话消息的时间标签是否早于所述第一聊天窗口中显示在所述第二会话消息之前的上一条会话消息的时间标签,若是,则将所述第二会话消息显示在所述上一条会话消息之前,直至所述第二会话消息的时间标签晚于上一条会话消息的时间标签。
其中,所述第一消息标签由所述服务器基于会话消息的发送方和接收会话消息的顺序生成。
本发明的实施例还提供了一种即时通信系统中纠正会话消息乱序的方法,包括:
获取所述服务器发送的第二会话消息和第二会话消息的时间标签,其中,所述第二会话消息的时间标签由所述服务器根据接收到所述第二终端的即时通信应用发送的第二会话消息的时间生成;
根据所述第二会话消息的时间标签以及第一终端的即时通信应用的第一聊天窗口中显示的其他会话消息的时间标签,按照时间顺序调整所述第二会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息,其中,所述其他会话消息的时间标签由所述服务器根据接收到所述其他会话消息的时间生成。
其中,所述根据所述第二会话消息的时间标签以及第一终端的即时通信应用的第一聊天窗口中显示的其他会话消息的时间标签,按照时间顺序调整所述第二会话消息与所述其他会话消息之间的顺序的步骤具体为:
判断所述第二会话消息的时间标签是否早于所述第一聊天窗口中显示在所述第二会话消息之前的上一条会话消息的时间标签,若是,则将所述第二会话消息显示在所述上一条会话消息之前,直至所述第二会话消息的时间标签晚于上一条会话消息的时间标签。
本发明的实施例还提供了一种即时通信系统中纠正会话消息乱序的方法,应用于服务器,第一终端和第二终端通过所述服务器建立会话连接,包括:
获取用户通过所述第一终端的即时通信应用输入的第一会话消息,并生成用于标识所述第一会话消息的第一消息标签;
将所述第一消息标签发送给所述第一终端和所述第二终端,并通过所述第一终端和所述第二终端的即时通信应用的聊天窗口显示所述第一会话消息,所述第一终端和所述第二终端的即时通信应用的聊天窗口还显示有其他会话消息;
获取所述第一终端发送的会话消息调整请求,并将所述会话消息调整请求发送至所述第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求在所述第二终端的第二聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序,其中,所述会话消息调整请求由所述第一终端根据所述用户在所述第一聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序的手动调整操作以及与显示顺序调整所涉及的会话消息的消息标签生成,且所述第一终端根据所述手动调整操作在所述第一聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息。
其中,所述获取用户通过所述第一终端的即时通信应用输入的第一会话消息,并生成用于标识所述第一会话消息的第一消息标签的步骤具体为:
在获取所述第一终端发送的第一会话消息后,根据所述第一会话消息的发送方和接收所述第一会话消息的顺序生成所述第一消息标签。
其中,上述方法还包括:
获取所述第二终端发送的第二会话消息,并根据接收到所述第二会话消息的时间生成第二会话消息的时间标签;
将所述第二会话消息和所述第二会话消息的时间标签发送给所述第一终端,同时将所述第二会话消息的时间标签发送给所述第二终端,由所述第一终端根据所述第二会话消息的时间标签以及所述其他会话消息的时间标签,按照时间顺序调整所述第二会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息,其中,所述其他会话消息的时间标签由所述服务器根据接收到其他会话消息的时间生成。
本发明的实施例还提供了一种即时通信系统中纠正会话消息乱序的装置,应用于终端,包括:
第一获取模块,用于获取用户通过第一终端的即时通信应用输入的第一会话消息,并将所述第一会话消息发送至服务器,由所述服务器生成用于标识所述第一会话消息的第一消息标签,并由所述服务器将所述第一会话消息和所述第一消息标签发送至第二终端的即时通信应用;
接收模块,用于接收所述服务器发送的所述第一消息标签,并在所述第一终端的即时通信应用的第一聊天窗口显示所述第一会话消息,所述第一聊天窗口还显示有其他会话消息;
第二获取模块,用于获取所述用户在所述第一聊天窗口中调整所述第一会话消息与所述第一聊天窗口中显示的其他会话消息之间的顺序的手动调整操作;
第一调整模块,用于根据所述手动调整操作在所述第一聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息;
第一处理模块,用于显示顺序调整完之后,根据所述手动调整操作以及与显示顺序调整所涉及的会话消息的消息标签生成会话消息调整请求,并将所述会话消息调整请求发送至所述服务器,通过所述服务器将所述会话消息调整请求发送至显示所述第一会话消息的第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求在第二聊天窗口中调整所述第一会话消息与其他会话消息之间的顺序。
其中,所述第一处理模块包括:
生成单元,用于根据所述手动调整操作,生成所述第一会话消息的第一消息标签与被关联会话消息的消息标签的关联信息;
第一处理单元,用于生成包含所述关联信息的会话消息调整请求,并将所述会话消息调整请求发送至所述服务器,通过所述服务器将所述会话消息调整请求发送至显示所述第一会话消息的第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求中的关联信息,在所述第二聊天窗口中将所述第一会话消息显示在所述被关联会话消息所处位置之后,并将原处于所述被关联会话消息之后的会话消息显示在所述第一会话消息之后。
其中,上述装置还包括:
第三获取模块,用于接收所述服务器发送的第二会话消息和第二会话消息的时间标签,其中,所述第二会话消息的时间标签由所述服务器根据接收到所述第二终端的即时通信应用发送的第二会话消息的时间生成;
第二处理模块,用于根据所述第二会话消息的时间标签以及所述其他会话消息的时间标签,按照时间顺序调整所述第二会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息,其中,所述其他会话消息的时间标签由所述服务器根据接收到所述其他会话消息的时间生成。
其中,所述第二处理模块包括:
第二处理单元,用于判断所述第二会话消息的时间标签是否早于所述第一聊天窗口中显示在所述第二会话消息之前的上一条会话消息的时间标签,若是,则将所述第二会话消息显示在所述上一条会话消息之前,直至所述第二会话消息的时间标签晚于上一条会话消息的时间标签。
本发明的实施例还提供了一种即时通信系统中纠正会话消息乱序的装置,应用于终端,包括:
第四获取模块,用于获取所述服务器发送的第二会话消息和第二会话消息的时间标签,其中,所述第二会话消息的时间标签由所述服务器根据接收到所述第二终端的即时通信应用发送的第二会话消息的时间生成;
第三处理模块,用于根据所述第二会话消息的时间标签以及第一终端的即时通信应用的第一聊天窗口中显示的其他会话消息的时间标签,按照时间顺序调整所述第二会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息,其中,所述其他会话消息的时间标签由所述服务器根据接收到所述其他会话消息的时间生成。
其中,所述第三处理模块包括:
第三处理单元,用于判断所述第二会话消息的时间标签是否早于所述第一聊天窗口中显示在所述第二会话消息之前的上一条会话消息的时间标签,若是,则将所述第二会话消息显示在所述上一条会话消息之前,直至所述第二会话消息的时间标签晚于上一条会话消息的时间标签。
本发明的实施例还提供了一种即时通信系统中纠正会话消息乱序的装置,应用于服务器,第一终端和第二终端通过所述服务器建立会话连接,包括:
第五获取模块,用于获取用户通过所述第一终端的即时通信应用输入的第一会话消息,并生成用于标识所述第一会话消息的第一消息标签;
发送模块,用于将所述第一消息标签发送给所述第一终端和所述第二终端,并通过所述第一终端和所述第二终端的即时通信应用的聊天窗口显示所述第一会话消息,所述第一终端和所述第二终端的即时通信应用的聊天窗口还显示有其他会话消息;
第四处理模块,用于获取所述第一终端发送的会话消息调整请求,并将所述会话消息调整请求发送至所述第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求在所述第二终端的第二聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序,其中,所述会话消息调整请求由所述第一终端根据所述用户在所述第一聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序的手动调整操作以及与显示顺序调整所涉及的会话消息的消息标签生成,且所述第一终端根据所述手动调整操作在所述第一聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息。
其中,所述第五获取模块具体用于在获取所述第一终端发送的第一会话消息后,根据所述第一会话消息的发送方和接收所述第一会话消息的顺序生成所述第一消息标签。
其中,上述装置还包括:
第六获取模块,用于获取所述第二终端发送的第二会话消息,并根据接收到所述第二会话消息的时间生成第二会话消息的时间标签;
第五处理模块,用于将所述第二会话消息和所述第二会话消息的时间标签发送给所述第一终端,同时将所述第二会话消息的时间标签发送给所述第二终端,由所述第一终端根据所述第二会话消息的时间标签以及所述其他会话消息的时间标签,按照时间顺序调整所述第二会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息,其中,所述其他会话消息的时间标签由所述服务器根据接收到其他会话消息的时间生成。
本发明实施例具有以下有益效果:
本发明实施例中,服务器给会话消息添加消息标签以及时间标签,并将消息标签以及时间标签发送给客户端,客户端根据消息标签以及时间标签对消息显示顺序进行调整,使得消息接收双方可以获得正确顺序的消息,消除因消息乱序引起的上下文丢失,从而避免引起不必要的误解。
附图说明
图1表示现有技术的传输控制协议原理图;
图2表示本发明实施例的工作流程图一;
图3表示本发明实施例客户端与服务器的交互流程图一;
图4表示本发明实施例参考时序图;
图5表示本发明实施例的工作流程图二;
图6表示本发明实施例客户端与服务器的交互流程图二;
图7表示本发明实施例的工作流程图三;
图8表示本发明实施例的结构框图一;
图9表示本发明实施例的结构框图二;
图10表示本发明实施例的结构框图三。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合具体实施例及附图进行详细描述。
本发明实施例提供了一种消息顺序的处理方法及装置,解决了现有即时通讯系统中由于消息乱序而产生的上下文丢失的问题。
现有即时通信系统中消息乱序的原因有两种,一是输入文字的快慢不同,二是网络传输的延迟,针对上述两种情形本发明实施例提供了手动调整和自动纠正两种纠结消息乱序的方法,下面分别说明。
针对即时通信系统中由聊天人的反应速度、响应时间或者打字速度等主观因素造成的上下文丢失(回答与问题的错位)问题,本发明实施例提供了一种即时通信系统中纠正会话消息乱序的方法,应用于终端,如图2所示,包括:
步骤S21:获取用户通过第一终端的即时通信应用输入的第一会话消息,并将所述第一会话消息发送至服务器,由所述服务器生成用于标识所述第一会话消息的第一消息标签,并由所述服务器将所述第一会话消息和所述第一消息标签发送至第二终端的即时通信应用。
本发明的具体实施例中,所述第一消息标签由所述服务器基于会话消息的发送方和接收会话消息的顺序生成。
步骤S22:接收所述服务器发送的所述第一消息标签,并在所述第一终端的即时通信应用的第一聊天窗口显示所述第一会话消息,所述第一聊天窗口还显示有其他会话消息。
步骤S23:获取所述用户在所述第一聊天窗口中调整所述第一会话消息与所述第一聊天窗口中显示的其他会话消息之间的顺序的手动调整操作。
在本发明的具体实施例中,所述手动调整操作可以具体为用户手指对终端屏幕中会话消息的拖动操作或者用户通过鼠标对终端屏幕中的会话消息进行拖动的操作等。
步骤S24:根据所述手动调整操作在所述第一聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息。
步骤S25:显示顺序调整完之后,根据所述手动调整操作以及与显示顺序调整所涉及的会话消息的消息标签生成会话消息调整请求,并将所述会话消息调整请求发送至所述服务器,通过所述服务器将所述会话消息调整请求发送至显示所述第一会话消息的第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求在第二聊天窗口中调整所述第一会话消息与其他会话消息之间的顺序。
具体的,根据所述手动调整操作,生成所述第一会话消息的第一消息标签与被关联会话消息的消息标签的关联信息;生成包含所述关联信息的会话消息调整请求,并将所述会话消息调整请求发送至所述服务器,通过所述服务器将所述会话消息调整请求发送至显示所述第一会话消息的第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求中的关联信息,在所述第二聊天窗口中将所述第一会话消息显示在所述被关联会话消息所处位置之后,并将原处于所述被关联会话消息之后的会话消息显示在所述第一会话消息之后。
本发明实施例的即时通信系统中纠正会话消息乱序的方法,还包括:
接收所述服务器发送的第二会话消息和第二会话消息的时间标签,其中,所述第二会话消息的时间标签由所述服务器根据接收到所述第二终端的即时通信应用发送的第二会话消息的时间生成;
根据所述第二会话消息的时间标签以及所述其他会话消息的时间标签,按照时间顺序调整所述第二会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息,其中,所述其他会话消息的时间标签由所述服务器根据接收到所述其他会话消息的时间生成。
所述根据第二会话消息的时间标签以及所述其他会话消息的时间标签,按照时间顺序调整所述第一会话消息与所述其他会话消息之间的顺序的步骤具体为:
判断所述第二会话消息的时间标签是否早于所述第一聊天窗口中显示在所述第二会话消息之前的上一条会话消息的时间标签,若是,则将所述第二会话消息显示在所述上一条会话消息之前,直至所述第二会话消息的时间标签晚于上一条会话消息的时间标签。
下面举例说明上述实施例的具体实现过程。
在本发明的具体实施例中,如图3所示,客户端A与客户端B通过服务器建立会话连接。
步骤31:客户端A向服务器发送消息A1;
步骤321:服务器生成消息A1的消息标签1,并将带消息标签的消息A1:1发送给客户端B;
步骤322:服务器将消息A1的消息标签发送给客户端A;
步骤33:客户端A向服务器发送消息A2;
步骤341:服务器生成消息A2的消息标签2,并将带标签的消息A2:2发送给客户端B;
步骤342:服务器将消息A2的消息标签发送给客户端A;
步骤35:客户端B向服务器发送消息B1;
步骤361:服务器生成消息B1的消息标签3,并将带标签的消息B1:3发送给客户端A;
步骤362:服务器将消息B1的消息标签3发送给客户端B;
步骤37:客户端B将消息B1手动调整到消息A1之后,根据手动调整操作生成将消息3显示在消息1之后的会话消息调整请求,并将会话消息调整请求发送给服务器;
步骤38:服务器将消息调整请求发送给客户端A;
步骤39:客户端A根据手动的会话消息调整请求,将消息3调整至消息1之后显示。
本发明实施例的消息发送流程中服务器收到一次会话中客户端发送的消息,并为每一个消息打上消息标签,将消息的标签发送至客户端双方,客户端保存消息的标签;消息顺序调整流程中客户端B调整消息显示顺序,并发起会话消息调整请求将关联消息(消息B1)及被关联消息(消息A1)的消息标签发送给服务器,由服务器将会话消息调整请求发送给客户端A,客户端A根据存储的消息标签调整消息显示顺序,从而解决了即时通信系统中由聊天人的反应速度、响应时间或者打字速度等主观因素造成的上下文丢失问题。
另外,网络传输带来的延迟会造成聊天双方客户端显示的顺序不一致,如图4所示,客户端A在t1时刻发送消息A1,客户端B在t3时刻收到A1,之后客户端B在t4时刻发送消息B1,服务器在t5时刻收到消息B1。客户端A在t6时刻发送消息A2时,尚未收到客户端B在t4时刻发送的消息B1,在t8时刻才收到客户端B在t4时刻发送的消息B1,客户端B在t9时刻收到消息A2,客户端A显示的消息顺序是A1、A2、B1,客户端B显示的消息顺序是A1,B1,A2。B1消息可能是针对A1所做的回答,在客户端A上会显示成与A2消息相关。因此在该场景下,客户端A显示的消息发生了乱序。
针对上述即时通信系统中由于网络延迟而引起的消息乱序问题,本发明实施例提供了一种即时通信系统中纠正会话消息乱序的方法,应用于终端,如图5所示,包括:
步骤S51:获取所述服务器发送的第二会话消息和第二会话消息的时间标签,其中,所述第二会话消息的时间标签由所述服务器根据接收到所述第二终端的即时通信应用发送的第二会话消息的时间生成;
步骤S52:根据所述第二会话消息的时间标签以及第一终端的即时通信应用的第一聊天窗口中显示的其他会话消息的时间标签,按照时间顺序调整所述第二会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息,其中,所述其他会话消息的时间标签由所述服务器根据接收到所述其他会话消息的时间生成。
在本发明的具体实施例中,所述根据所述第二会话消息的时间标签以及第一终端的即时通信应用的第一聊天窗口中显示的其他会话消息的时间标签,按照时间顺序调整所述第二会话消息与所述其他会话消息之间的顺序的步骤具体为:
判断所述第二会话消息的时间标签是否早于所述第一聊天窗口中显示在所述第二会话消息之前的上一条会话消息的时间标签,若是,则将所述第二会话消息显示在所述上一条会话消息之前,直至所述第二会话消息的时间标签晚于上一条会话消息的时间标签。
下面具体说明上述实施例的实现过程。
如图6所示,客户端A与客户端B通过服务器建立会话连接。
步骤61:客户端A在t1时刻向服务器发送消息A1;
步骤621:服务器在t2时刻接收到消息A1,并将带时间标签的消息A1:t2发给客户端B;
步骤622:服务器把消息A1的时间标签t2发给客户端A;
步骤63:客户端B在t4时刻向服务器发送消息B1,服务器在t5时刻接收到消息B1;
步骤64:客户端A在t6时刻向服务器发送消息A2,服务器在t7时刻接收到消息A2;
步骤651:服务器将带时间标签的消息B1:t5发给客户端A,客户端A在t8时刻接收到消息B1;
步骤652:服务器把消息B1的时间标签t5发给客户端B;
步骤661:服务器将带时间标签的消息A2:t7发给客户端B;
步骤662:服务器把消息A2的时间标签t7发给客户端A;
步骤67:客户端A发现B1的时间标签t5早于上一条显示消息A2的时间t7,将B1的显示顺序调整到消息A2之前,继续将t5与消息A1的时间标签t2进行比较,得出t2比t5早,调整结束。
本发明实施例的消息发送流程中,服务器收到一次会话中客户端发送的消息,记录每个消息到达服务器的时间,并将每个消息的时间发送给客户端双方,客户端保存消息时间;在消息顺序调整流程中,客户端每收到一条消息,比照消息的时间与屏幕中上一条消息的时间,如果比上一条消息的时间早,则将其顺序调整到上一条消息之前,并继续比较,直至该消息的时间晚于上一条消息的时间,客户端根据比较结果调整消息顺序,并显示顺序调整后的消息。
本发明实施例服务器在接收到会话消息后,根据接收会话消息的时间为会话消息贴上时间标签,并将时间标签发送给客户端双方,使得客户端可以根据时间标签,对屏幕中会话消息的显示顺序自动进行调整,从而避免了由于网络传输延时而造成消息乱序现象的发生。
相应地,本发明实施例还提供了一种即时通信系统中纠正会话消息乱序的方法,应用于服务器,第一终端和第二终端通过所述服务器建立会话连接,如图7所示,包括:
步骤S71:获取用户通过所述第一终端的即时通信应用输入的第一会话消息,并生成用于标识所述第一会话消息的第一消息标签;
步骤S72:将所述第一消息标签发送给所述第一终端和所述第二终端,并通过所述第一终端和所述第二终端的即时通信应用的聊天窗口显示所述第一会话消息,所述第一终端和所述第二终端的即时通信应用的聊天窗口还显示有其他会话消息;
步骤S73:获取所述第一终端发送的会话消息调整请求,并将所述会话消息调整请求发送至所述第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求在所述第二终端的第二聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序,其中,所述会话消息调整请求由所述第一终端根据所述用户在所述第一聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序的手动调整操作以及与显示顺序调整所涉及的会话消息的消息标签生成,且所述第一终端根据所述手动调整操作在所述第一聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息。
本发明实施例的即时通信系统中纠正会话消息乱序的方法,所述获取用户通过所述第一终端的即时通信应用输入的第一会话消息,并生成用于标识所述第一会话消息的第一消息标签的步骤具体为:
在获取所述第一终端发送的第一会话消息后,根据所述第一会话消息的发送方和接收所述第一会话消息的顺序生成所述第一消息标签。
本发明实施例的即时通信系统中纠正会话消息乱序的方法,还包括:
获取所述第二终端发送的第二会话消息,并根据接收到所述第二会话消息的时间生成第二会话消息的时间标签;
将所述第二会话消息和所述第二会话消息的时间标签发送给所述第一终端,同时将所述第二会话消息的时间标签发送给所述第二终端,由所述第一终端根据所述第二会话消息的时间标签以及所述其他会话消息的时间标签,按照时间顺序调整所述第二会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息,其中,所述其他会话消息的时间标签由所述服务器根据接收到其他会话消息的时间生成。
本发明实施例服务器在接收到会话消息后,根据接收会话消息的时间为会话消息贴上时间标签,并将时间标签发送给客户端双方,使得客户端可以根据时间标签,对屏幕中会话消息的显示顺序自动进行调整。
本发明实施例还提供了一种即时通信系统中纠正会话消息乱序的装置,应用于终端,如图8所示,包括:
第一获取模块81,用于获取用户通过第一终端的即时通信应用输入的第一会话消息,并将所述第一会话消息发送至服务器,由所述服务器生成用于标识所述第一会话消息的第一消息标签,并由所述服务器将所述第一会话消息和所述第一消息标签发送至第二终端的即时通信应用;
接收模块82,用于接收所述服务器发送的所述第一消息标签,并在所述第一终端的即时通信应用的第一聊天窗口显示所述第一会话消息,所述第一聊天窗口还显示有其他会话消息;
第二获取模块83,用于获取所述用户在所述第一聊天窗口中调整所述第一会话消息与所述第一聊天窗口中显示的其他会话消息之间的顺序的手动调整操作;
第一调整模块84,用于根据所述手动调整操作在所述第一聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息;
第一处理模块85,用于显示顺序调整完之后,根据所述手动调整操作以及与显示顺序调整所涉及的会话消息的消息标签生成会话消息调整请求,并将所述会话消息调整请求发送至所述服务器,通过所述服务器将所述会话消息调整请求发送至显示所述第一会话消息的第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求在第二聊天窗口中调整所述第一会话消息与其他会话消息之间的顺序。
本发明实施例的即时通信系统中纠正会话消息乱序的装置,所述第一处理模块85包括:
生成单元,用于根据所述手动调整操作,生成所述第一会话消息的第一消息标签与被关联会话消息的消息标签的关联信息;
第一处理单元,用于生成包含所述关联信息的会话消息调整请求,并将所述会话消息调整请求发送至所述服务器,通过所述服务器将所述会话消息调整请求发送至显示所述第一会话消息的第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求中的关联信息,在所述第二聊天窗口中将所述第一会话消息显示在所述被关联会话消息所处位置之后,并将原处于所述被关联会话消息之后的会话消息显示在所述第一会话消息之后。
本发明实施例的即时通信系统中纠正会话消息乱序的装置,还包括:
第三获取模块,用于接收所述服务器发送的第二会话消息和第二会话消息的时间标签,其中,所述第二会话消息的时间标签由所述服务器根据接收到所述第二终端的即时通信应用发送的第二会话消息的时间生成;
第二处理模块,用于根据所述第二会话消息的时间标签以及所述其他会话消息的时间标签,按照时间顺序调整所述第二会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息,其中,所述其他会话消息的时间标签由所述服务器根据接收到所述其他会话消息的时间生成。
本发明实施例的即时通信系统中纠正会话消息乱序的装置,所述第二处理模块包括:
第二处理单元,用于判断所述第二会话消息的时间标签是否早于所述第一聊天窗口中显示在所述第二会话消息之前的上一条会话消息的时间标签,若是,则将所述第二会话消息显示在所述上一条会话消息之前,直至所述第二会话消息的时间标签晚于上一条会话消息的时间标签。
本发明实施例的即时通信系统中纠正会话消息乱序的装置,所述第一消息标签由所述服务器基于会话消息的发送方和接收会话消息的顺序生成。
本发明的实施例还提供了一种即时通信系统中纠正会话消息乱序的装置,应用于终端,如图9所示,包括:
第四获取模块91,用于获取所述服务器发送的第二会话消息和第二会话消息的时间标签,其中,所述第二会话消息的时间标签由所述服务器根据接收到所述第二终端的即时通信应用发送的第二会话消息的时间生成;
第三处理模块92,用于根据所述第二会话消息的时间标签以及第一终端的即时通信应用的第一聊天窗口中显示的其他会话消息的时间标签,按照时间顺序调整所述第二会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息,其中,所述其他会话消息的时间标签由所述服务器根据接收到所述其他会话消息的时间生成。
本发明实施例的即时通信系统中纠正会话消息乱序的装置,所述第三处理模块92包括:
第三处理单元,用于判断所述第二会话消息的时间标签是否早于所述第一聊天窗口中显示在所述第二会话消息之前的上一条会话消息的时间标签,若是,则将所述第二会话消息显示在所述上一条会话消息之前,直至所述第二会话消息的时间标签晚于上一条会话消息的时间标签。
本发明的实施例还提供了一种即时通信系统中纠正会话消息乱序的装置,应用于服务器,第一终端和第二终端通过所述服务器建立会话连接,如图10所示,包括:
第五获取模块101,用于获取用户通过所述第一终端的即时通信应用输入的第一会话消息,并生成用于标识所述第一会话消息的第一消息标签;
发送模块102,用于将所述第一消息标签发送给所述第一终端和所述第二终端,并通过所述第一终端和所述第二终端的即时通信应用的聊天窗口显示所述第一会话消息,所述第一终端和所述第二终端的即时通信应用的聊天窗口还显示有其他会话消息;
第四处理模块103,用于获取所述第一终端发送的会话消息调整请求,并将所述会话消息调整请求发送至所述第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求在所述第二终端的第二聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序,其中,所述会话消息调整请求由所述第一终端根据所述用户在所述第一聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序的手动调整操作以及与显示顺序调整所涉及的会话消息的消息标签生成,且所述第一终端根据所述手动调整操作在所述第一聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息。
本发明实施例的即时通信系统中纠正会话消息乱序的装置,所述第五获取模块101具体用于在获取所述第一终端发送的第一会话消息后,根据所述第一会话消息的发送方和接收所述第一会话消息的顺序生成所述第一消息标签。
本发明实施例的即时通信系统中纠正会话消息乱序的装置,还包括:
第六获取模块,用于获取所述第二终端发送的第二会话消息,并根据接收到所述第二会话消息的时间生成第二会话消息的时间标签;
第五处理模块,用于将所述第二会话消息和所述第二会话消息的时间标签发送给所述第一终端,同时将所述第二会话消息的时间标签发送给所述第二终端,由所述第一终端根据所述第二会话消息的时间标签以及所述其他会话消息的时间标签,按照时间顺序调整所述第二会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息,其中,所述其他会话消息的时间标签由所述服务器根据接收到其他会话消息的时间生成。
需要说明的是,该装置是与上述方法实施例对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
本发明实施例中服务器给回话消息贴两种消息标签,一种是顺序标签用于手动调整的场景,一种是时间标签,用于自动调整场景,并将消息标签发送给客户端双方,由客户端根据消息标签对消息的显示顺序进行调整,使得消息接收双方可以获得正确顺序的消息,消除因为消息乱序引起的上下文丢失,从而避免引起不必要的误解。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (19)
1.一种即时通信系统中纠正会话消息乱序的方法,应用于终端,其特征在于,包括:
获取用户通过第一终端的即时通信应用输入的第一会话消息,并将所述第一会话消息发送至服务器,由所述服务器生成用于标识所述第一会话消息的第一消息标签,并由所述服务器将所述第一会话消息和所述第一消息标签发送至第二终端的即时通信应用;
接收所述服务器发送的所述第一消息标签,并在所述第一终端的即时通信应用的第一聊天窗口显示所述第一会话消息,所述第一聊天窗口还显示有其他会话消息;
获取所述用户在所述第一聊天窗口中调整所述第一会话消息与所述第一聊天窗口中显示的其他会话消息之间的顺序的手动调整操作;
根据所述手动调整操作在所述第一聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息;
显示顺序调整完之后,根据所述手动调整操作以及与显示顺序调整所涉及的会话消息的消息标签生成会话消息调整请求,并将所述会话消息调整请求发送至所述服务器,通过所述服务器将所述会话消息调整请求发送至显示所述第一会话消息的第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求在第二聊天窗口中调整所述第一会话消息与其他会话消息之间的顺序。
2.根据权利要求1所述的方法,其特征在于,所述显示顺序调整完之后,根据所述手动调整操作以及与显示顺序调整所涉及的会话消息的消息标签生成会话消息调整请求,并将所述会话消息调整请求发送至所述服务器,通过所述服务器将所述会话消息调整请求发送至显示所述第一会话消息的第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求在第二聊天窗口中调整所述第一会话消息与其他会话消息之间的顺序的步骤包括:
根据所述手动调整操作,生成所述第一会话消息的第一消息标签与被关联会话消息的消息标签的关联信息;
生成包含所述关联信息的会话消息调整请求,并将所述会话消息调整请求发送至所述服务器,通过所述服务器将所述会话消息调整请求发送至显示所述第一会话消息的第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求中的关联信息,在所述第二聊天窗口中将所述第一会话消息显示在所述被关联会话消息所处位置之后,并将原处于所述被关联会话消息之后的会话消息显示在所述第一会话消息之后。
3.根据权利要求1所述的方法,其特征在于,还包括:
接收所述服务器发送的第二会话消息和第二会话消息的时间标签,其中,所述第二会话消息的时间标签由所述服务器根据接收到所述第二终端的即时通信应用发送的第二会话消息的时间生成;
根据所述第二会话消息的时间标签以及所述其他会话消息的时间标签,按照时间顺序调整所述第二会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息,其中,所述其他会话消息的时间标签由所述服务器根据接收到所述其他会话消息的时间生成。
4.根据权利要求3所述的方法,其特征在于,根据第二会话消息的时间标签以及所述其他会话消息的时间标签,按照时间顺序调整所述第一会话消息与所述其他会话消息之间的顺序的步骤具体为:
判断所述第二会话消息的时间标签是否早于所述第一聊天窗口中显示在所述第二会话消息之前的上一条会话消息的时间标签,若是,则将所述第二会话消息显示在所述上一条会话消息之前,直至所述第二会话消息的时间标签晚于上一条会话消息的时间标签。
5.根据权利要求1所述的方法,其特征在于,所述第一消息标签由所述服务器基于会话消息的发送方和接收会话消息的顺序生成。
6.一种即时通信系统中纠正会话消息乱序的方法,应用于终端,其特征在于,包括:
获取服务器发送的第二会话消息和第二会话消息的时间标签,其中,所述第二会话消息的时间标签由所述服务器根据接收到第二终端的即时通信应用发送的第二会话消息的时间生成;
根据所述第二会话消息的时间标签以及第一终端的即时通信应用的第一聊天窗口中显示的其他会话消息的时间标签,按照时间顺序调整所述第二会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息,其中,所述其他会话消息的时间标签由所述服务器根据接收到所述其他会话消息的时间生成。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第二会话消息的时间标签以及第一终端的即时通信应用的第一聊天窗口中显示的其他会话消息的时间标签,按照时间顺序调整所述第二会话消息与所述其他会话消息之间的顺序的步骤具体为:
判断所述第二会话消息的时间标签是否早于所述第一聊天窗口中显示在所述第二会话消息之前的上一条会话消息的时间标签,若是,则将所述第二会话消息显示在所述上一条会话消息之前,直至所述第二会话消息的时间标签晚于上一条会话消息的时间标签。
8.一种即时通信系统中纠正会话消息乱序的方法,应用于服务器,第一终端和第二终端通过所述服务器建立会话连接,其特征在于,包括:
获取用户通过所述第一终端的即时通信应用输入的第一会话消息,并生成用于标识所述第一会话消息的第一消息标签;
将所述第一消息标签发送给所述第一终端和所述第二终端,并通过所述第一终端和所述第二终端的即时通信应用的聊天窗口显示所述第一会话消息,所述第一终端和所述第二终端的即时通信应用的聊天窗口还显示有其他会话消息;
获取所述第一终端发送的会话消息调整请求,并将所述会话消息调整请求发送至所述第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求在所述第二终端的第二聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序,其中,所述会话消息调整请求由所述第一终端根据所述用户在第一聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序的手动调整操作以及与显示顺序调整所涉及的会话消息的消息标签生成,且所述第一终端根据所述手动调整操作在所述第一聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息。
9.根据权利要求8所述的方法,其特征在于,所述获取用户通过所述第一终端的即时通信应用输入的第一会话消息,并生成用于标识所述第一会话消息的第一消息标签的步骤具体为:
在获取所述第一终端发送的第一会话消息后,根据所述第一会话消息的发送方和接收所述第一会话消息的顺序生成所述第一消息标签。
10.根据权利要求8所述的方法,其特征在于,还包括:
获取所述第二终端发送的第二会话消息,并根据接收到所述第二会话消息的时间生成第二会话消息的时间标签;
将所述第二会话消息和所述第二会话消息的时间标签发送给所述第一终端,同时将所述第二会话消息的时间标签发送给所述第二终端,由所述第一终端根据所述第二会话消息的时间标签以及所述其他会话消息的时间标签,按照时间顺序调整所述第二会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息,其中,所述其他会话消息的时间标签由所述服务器根据接收到其他会话消息的时间生成。
11.一种即时通信系统中纠正会话消息乱序的装置,应用于终端,其特征在于,包括:
第一获取模块,用于获取用户通过第一终端的即时通信应用输入的第一会话消息,并将所述第一会话消息发送至服务器,由所述服务器生成用于标识所述第一会话消息的第一消息标签,并由所述服务器将所述第一会话消息和所述第一消息标签发送至第二终端的即时通信应用;
接收模块,用于接收所述服务器发送的所述第一消息标签,并在所述第一终端的即时通信应用的第一聊天窗口显示所述第一会话消息,所述第一聊天窗口还显示有其他会话消息;
第二获取模块,用于获取所述用户在所述第一聊天窗口中调整所述第一会话消息与所述第一聊天窗口中显示的其他会话消息之间的顺序的手动调整操作;
第一调整模块,用于根据所述手动调整操作在所述第一聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息;
第一处理模块,用于显示顺序调整完之后,根据所述手动调整操作以及与显示顺序调整所涉及的会话消息的消息标签生成会话消息调整请求,并将所述会话消息调整请求发送至所述服务器,通过所述服务器将所述会话消息调整请求发送至显示所述第一会话消息的第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求在第二聊天窗口中调整所述第一会话消息与其他会话消息之间的顺序。
12.根据权利要求11所述的装置,其特征在于,所述第一处理模块包括:
生成单元,用于根据所述手动调整操作,生成所述第一会话消息的第一消息标签与被关联会话消息的消息标签的关联信息;
第一处理单元,用于生成包含所述关联信息的会话消息调整请求,并将所述会话消息调整请求发送至所述服务器,通过所述服务器将所述会话消息调整请求发送至显示所述第一会话消息的第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求中的关联信息,在所述第二聊天窗口中将所述第一会话消息显示在所述被关联会话消息所处位置之后,并将原处于所述被关联会话消息之后的会话消息显示在所述第一会话消息之后。
13.根据权利要求12所述的装置,其特征在于,还包括:
第三获取模块,用于接收所述服务器发送的第二会话消息和第二会话消息的时间标签,其中,所述第二会话消息的时间标签由所述服务器根据接收到所述第二终端的即时通信应用发送的第二会话消息的时间生成;
第二处理模块,用于根据所述第二会话消息的时间标签以及所述其他会话消息的时间标签,按照时间顺序调整所述第二会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息,其中,所述其他会话消息的时间标签由所述服务器根据接收到所述其他会话消息的时间生成。
14.根据权利要求13所述的装置,其特征在于,所述第二处理模块包括:
第二处理单元,用于判断所述第二会话消息的时间标签是否早于所述第一聊天窗口中显示在所述第二会话消息之前的上一条会话消息的时间标签,若是,则将所述第二会话消息显示在所述上一条会话消息之前,直至所述第二会话消息的时间标签晚于上一条会话消息的时间标签。
15.一种即时通信系统中纠正会话消息乱序的装置,应用于终端,其特征在于,包括:
第四获取模块,用于获取服务器发送的第二会话消息和第二会话消息的时间标签,其中,所述第二会话消息的时间标签由所述服务器根据接收到第二终端的即时通信应用发送的第二会话消息的时间生成;
第三处理模块,用于根据所述第二会话消息的时间标签以及第一终端的即时通信应用的第一聊天窗口中显示的其他会话消息的时间标签,按照时间顺序调整所述第二会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息,其中,所述其他会话消息的时间标签由所述服务器根据接收到所述其他会话消息的时间生成。
16.根据权利要求15所述的装置,其特征在于,所述第三处理模块包括:
第三处理单元,用于判断所述第二会话消息的时间标签是否早于所述第一聊天窗口中显示在所述第二会话消息之前的上一条会话消息的时间标签,若是,则将所述第二会话消息显示在所述上一条会话消息之前,直至所述第二会话消息的时间标签晚于上一条会话消息的时间标签。
17.一种即时通信系统中纠正会话消息乱序的装置,应用于服务器,第一终端和第二终端通过所述服务器建立会话连接,其特征在于,包括:
第五获取模块,用于获取用户通过所述第一终端的即时通信应用输入的第一会话消息,并生成用于标识所述第一会话消息的第一消息标签;
发送模块,用于将所述第一消息标签发送给所述第一终端和所述第二终端,并通过所述第一终端和所述第二终端的即时通信应用的聊天窗口显示所述第一会话消息,所述第一终端和所述第二终端的即时通信应用的聊天窗口还显示有其他会话消息;
第四处理模块,用于获取所述第一终端发送的会话消息调整请求,并将所述会话消息调整请求发送至所述第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求在所述第二终端的第二聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序,其中,所述会话消息调整请求由所述第一终端根据所述用户在第一聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序的手动调整操作以及与显示顺序调整所涉及的会话消息的消息标签生成,且所述第一终端根据所述手动调整操作在所述第一聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息。
18.根据权利要求17所述的装置,其特征在于,所述第五获取模块具体用于在获取所述第一终端发送的第一会话消息后,根据所述第一会话消息的发送方和接收所述第一会话消息的顺序生成所述第一消息标签。
19.根据权利要求17所述的装置,其特征在于,还包括:
第六获取模块,用于获取所述第二终端发送的第二会话消息,并根据接收到所述第二会话消息的时间生成第二会话消息的时间标签;
第五处理模块,用于将所述第二会话消息和所述第二会话消息的时间标签发送给所述第一终端,同时将所述第二会话消息的时间标签发送给所述第二终端,由所述第一终端根据所述第二会话消息的时间标签以及所述其他会话消息的时间标签,按照时间顺序调整所述第二会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息,其中,所述其他会话消息的时间标签由所述服务器根据接收到其他会话消息的时间生成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410677710.8A CN105681160B (zh) | 2014-11-21 | 2014-11-21 | 一种即时通信系统中纠正会话消息乱序的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410677710.8A CN105681160B (zh) | 2014-11-21 | 2014-11-21 | 一种即时通信系统中纠正会话消息乱序的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105681160A CN105681160A (zh) | 2016-06-15 |
CN105681160B true CN105681160B (zh) | 2019-02-05 |
Family
ID=56957565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410677710.8A Active CN105681160B (zh) | 2014-11-21 | 2014-11-21 | 一种即时通信系统中纠正会话消息乱序的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105681160B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254211A (zh) * | 2016-07-30 | 2016-12-21 | 深圳市金立通信设备有限公司 | 一种交互信息的显示方法和终端 |
CN106027385A (zh) * | 2016-08-02 | 2016-10-12 | 深圳市乐乐米信息技术有限公司 | 一种即时会话消息优先级排序方法 |
CN106371697B (zh) * | 2016-08-31 | 2019-11-22 | 蒋欣飏 | 一种数字信息转发方法 |
WO2018107580A1 (zh) | 2016-12-15 | 2018-06-21 | 华为技术有限公司 | 一种信息提示的方法及装置 |
CN108536499B (zh) * | 2018-01-02 | 2021-05-18 | 联想(北京)有限公司 | 信息处理方法和电子设备 |
CN109729061B (zh) * | 2018-05-04 | 2021-09-21 | 平安科技(深圳)有限公司 | 消息处理方法、装置、设备及可读存储介质 |
WO2020014900A1 (zh) * | 2018-07-18 | 2020-01-23 | 华为技术有限公司 | 一种消息的显示方法及终端 |
CN112860460B (zh) * | 2021-02-23 | 2022-01-04 | 创盛视联数码科技(北京)有限公司 | 用于实时课堂的事件分发方法及系统 |
CN113660153A (zh) * | 2021-06-29 | 2021-11-16 | 阿里巴巴新加坡控股有限公司 | 消息处理方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1929454A (zh) * | 2005-09-05 | 2007-03-14 | 腾讯科技(深圳)有限公司 | 一种即时通信中即时消息的显示方法 |
CN101094195A (zh) * | 2006-06-20 | 2007-12-26 | 腾讯科技(深圳)有限公司 | 基于即时通信方式的会话消息记录方法及即时通信客户端 |
CN101106540A (zh) * | 2007-07-03 | 2008-01-16 | 腾讯科技(深圳)有限公司 | 一种在im消息中显示多媒体信息的方法、系统及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1495603B1 (en) * | 2002-04-02 | 2010-06-16 | Verizon Business Global LLC | Call completion via instant communications client |
-
2014
- 2014-11-21 CN CN201410677710.8A patent/CN105681160B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1929454A (zh) * | 2005-09-05 | 2007-03-14 | 腾讯科技(深圳)有限公司 | 一种即时通信中即时消息的显示方法 |
CN101094195A (zh) * | 2006-06-20 | 2007-12-26 | 腾讯科技(深圳)有限公司 | 基于即时通信方式的会话消息记录方法及即时通信客户端 |
CN101106540A (zh) * | 2007-07-03 | 2008-01-16 | 腾讯科技(深圳)有限公司 | 一种在im消息中显示多媒体信息的方法、系统及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105681160A (zh) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105681160B (zh) | 一种即时通信系统中纠正会话消息乱序的方法及装置 | |
CN101924771B (zh) | 一种用于加速应用代理的核心级tcp连接粘合方法 | |
US9473600B2 (en) | Higher layer compression with lower layer signaling | |
US20160323235A1 (en) | Instant Message and Electronic Mail Portability | |
US10057147B2 (en) | Apparatus and method for controlling data flow in communication system | |
CN106936698A (zh) | 一种基于websocket的pc端即时通信应用方法 | |
CN102571637A (zh) | 消息处理方法和装置 | |
CN104125034A (zh) | Udp数据包的传输方法及系统 | |
CN106713126B (zh) | 一种内外网间电子邮件信息单向传输方法及系统 | |
US20140059118A1 (en) | Method and Devices for Enhanced File Transfer | |
CN101222521A (zh) | 基于会话发起协议的文件传输方法 | |
KR100938826B1 (ko) | 페이지 모드 메시징 | |
CN105450969B (zh) | 一种实时视频数据传输方法及电子设备 | |
US8886793B2 (en) | Methods and systems for adjusting a traffic rate for a MSRP session | |
CN106453373A (zh) | 一种高效的SYN Flood攻击识别及处置方法 | |
CN104283716A (zh) | 数据传输方法、设备及系统 | |
WO2014134987A1 (zh) | 一种融合即时通讯和邮箱通讯的通讯方法及通讯装置 | |
CN104065913B (zh) | 一种即时通信客户端 | |
US7539761B1 (en) | System and method for detecting and defeating IP address spoofing in electronic mail messages | |
CN109120578B (zh) | 一种实现链路连接处理的方法及装置 | |
CN105991348B (zh) | Tcp连接关闭方法及装置 | |
CN104394068B (zh) | 一种基于商用客户端的短波E‑mail发送、接收以及通信方法 | |
JP2017034627A (ja) | 通信制御システムおよび通信制御方法 | |
CN109639471A (zh) | 一种自动发送电子邮件的方法及系统 | |
CN106656755B (zh) | 一种电子邮件传输方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |