CN110474834A - 一种保持即时通讯实时性的方法、电子设备及存储介质 - Google Patents
一种保持即时通讯实时性的方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110474834A CN110474834A CN201910577230.7A CN201910577230A CN110474834A CN 110474834 A CN110474834 A CN 110474834A CN 201910577230 A CN201910577230 A CN 201910577230A CN 110474834 A CN110474834 A CN 110474834A
- Authority
- CN
- China
- Prior art keywords
- byte
- message
- information
- information byte
- encryption
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种保持即时通讯实时性的方法、电子设备及存储介质,该方法包括以下步骤:获取待发送数据;判断所述待发送数据是否包含实体信息;若否,则将所述待发送数据根据固定数据结构生成对应的消息;若是,则对所述实体信息进行加密及压缩处理之后,将所述待发送数据根据固定数据结构生成对应的消息;发送所述消息。该方法可降低通讯消息的信息量,从而达到了降低客户端与服务器之间的带宽消耗、减少服务器的解析时间以及降低服务器性能消耗的目的,保证服务器的处理速度,进而确保各个客户端之间的通讯的实时性。
Description
技术领域
本发明涉及即时通讯技术领域,尤其涉及一种保持即时通讯实时性的方法、电子设备及存储介质。
背景技术
即时通讯功能,需要保证各个客户端之间消息的实时性及可靠性。为了确保客户端消息实时可达,主要使用的技术有轮询方式及长连接方式。轮询方式是客户端不断查询消息服务器,检索服务器是否有新的内容。该方式需要会占用系统内存,不断轮询会造消耗大量网络带宽及电量。长连接方式即为客户端与服务器端之间建立一条TCP/IP长连接,消息交由服务器发送至目标客户端。长连接方式一般情况下需要处理用户身份验证、NAT心跳包、发送客户端消息以及断线重连等问题。通常服务器与客户端间通过发送固定格式的字符串(如JSON或XML格式)用于解决上述问题。固定格式的字符串通常会包含多个用于标识或者格式所规定的字符,使得消息的信息量较大。随着客户端连接数不断增加,服务器就需要花费性能及时间在解析这些字符上,影响服务器的处理速度,从而使得各个客户端之间的通讯存在延时。
发明内容
为了克服现有技术的不足,本发明的目的之一在于提供一种保持即时通讯实时性的方法,其可降低通讯消息的信息量,从而达到了降低客户端与服务器之间的带宽消耗、减少服务器的解析时间以及降低服务器性能消耗的目的,保证服务器的处理速度,进而确保各个客户端之间的通讯的实时性。
本发明的目的之二在于提供一种保持即时通讯实时性的方法,其可降低通讯消息的信息量,从而达到了降低客户端与服务器之间的带宽消耗、减少服务器的解析时间以及降低服务器性能消耗的目的,保证服务器的处理速度,进而确保各个客户端之间的通讯的实时性。
本发明的目的之三在于提供一种电子设备,其可降低通讯消息的信息量,从而达到了降低客户端与服务器之间的带宽消耗、减少服务器的解析时间以及降低服务器性能消耗的目的,保证服务器的处理速度,进而确保各个客户端之间的通讯的实时性。
本发明的目的之四在于提供一种计算机可读存储介质,该存储介质中的程序运行时可降低通讯消息的信息量,从而达到了降低客户端与服务器之间的带宽消耗、减少服务器的解析时间以及降低服务器性能消耗的目的,保证服务器的处理速度,进而确保各个客户端之间的通讯的实时性。
本发明的目的之一采用如下技术方案实现:
一种保持即时通讯实时性的方法,包括以下步骤:
获取待发送数据;
判断所述待发送数据是否包含实体信息;
若否,则将所述待发送数据根据固定数据结构生成对应的消息,该消息由标识信息字节、加密信息字节、用户ID信息字节以及长度信息字节组成;所述标识信息字节、所述加密信息字节、所述用户ID信息字节以及所述长度信息字节在固定数据结构中的字节位置是固定的;
若是,则对所述实体信息进行加密及压缩处理之后,将所述待发送数据根据固定数据结构生成对应的消息,该消息由标识信息字节、加密信息字节、用户ID信息字节、长度信息字节以及消息体字节组成;其中,所述消息体字节的个数由所述实体信息的长度决定;所述标识信息字节、所述加密信息字节、所述用户ID信息字节、所述长度信息字节以及所述消息体字节在固定数据结构中的字节位置是固定的;
发送所述消息。
进一步地,所述标识信息字节包含所发送的消息对应需执行的功能标识,用于标识所发送的消息对应需要完成的操作。
进一步地,所述标识信息字节由一个字节组成,所述功能标识包含重连标识、心跳包标识、消息已读标识、身份验证标识以及实体信息标识。
进一步地,所述加密信息字节由一个字节组成,所述加密信息字节包含压缩标识位和加密标识位。
本发明的目的之二采用如下技术方案实现:
一种保持即时通讯实时性的方法,包括以下步骤:
获取所接收到的具有固定数据结构的消息,所述消息由标识信息字节、加密信息字节、用户ID信息字节、长度信息字节以及消息体字节组成;其中,所述消息体字节的个数由所述消息的实体信息的长度决定;所述标识信息字节、所述加密信息字节、所述用户ID信息字节、所述长度信息字节以及所述消息体字节在固定数据结构中的字节位置是固定的;
根据所述标识信息字节得到该消息对应需完成的操作;
根据所述加密信息字节判断是否需要对所述消息体字节进行解密及解压操作;
解析所述用户ID信息字节以获取用户ID信息;
解析所述长度信息字节以获取该消息的长度;
根据所述长度从所述消息体字节中获取消息体内容,根据加密信息字节的判断结果对所述消息体内容进行处理并根据处理后的消息体内容执行该消息对应需完成的操作。
进一步地,所述标识信息字节包含所发送的消息对应需执行的功能标识,用于标识所发送的消息对应需要完成的操作。
进一步地,所述标识信息字节由一个字节组成,所述功能标识包含重连标识、心跳包标识、消息已读标识、身份验证标识以及实体信息标识。
进一步地,所述加密信息字节由一个字节组成,所述加密信息字节包含压缩标识位和加密标识位。
本发明的目的之三采用如下技术方案实现:
一种电子设备,包括处理器和存储器,所述存储器存储有可执行计算机程序,所述处理器可读取所述存储器中的计算机程序并运行以实现如上所述的保持即时通讯实时性的方法。
本发明的目的之四采用如下技术方案实现:
一种计算机可读存储介质,所述计算机可读存储介质存储有可执行计算机程序,所述计算机程序运行时可实现如上所述的保持即时通讯实时性的方法。
相比现有技术,本发明的有益效果在于:
该保持即时通讯实时性的方法基于长连接方式,通过生成具有固定数据结构的通讯消息,代替了JOSN或XML格式字符串的方式,省去了JSON或XML格式的字符串中的多余数据,使得通讯消息更为简洁。由标识信息字节即可得知该通讯消息用于什么功能从而确定该消息包含了什么信息,并且根据固定的数据结构直接解析该通讯消息中对应字节的数据即可得到对应的目标信息,无需逐一对消息中的各个数据信息进行对应的标识,降低了通讯消息的信息量,从而达到了降低客户端与服务器之间的带宽消耗、减少服务器的解析时间以及降低服务器性能消耗的目的,保证服务器的处理速度,进而确保各个客户端之间的通讯的实时性;此外,该消息中包含了用于标识该消息长度的长度信息字节,解决了通讯中的粘包问题。
附图说明
图1为本发明提供的一种保持即时通讯实时性的方法的流程示意图;
图2为本发明提供的另一种保持即时通讯实时性的方法的流程示意图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
请参阅图1,其为一种保持即时通讯实时性的方法的流程示意图,包括以下步骤:
S11、获取待发送数据;
S12、判断所述待发送数据是否包含实体信息;
S13、若否,则将所述待发送数据根据固定数据结构生成对应的消息,该消息由标识信息字节、加密信息字节、用户ID信息字节以及长度信息字节组成;所述标识信息字节、所述加密信息字节、所述用户ID信息字节以及所述长度信息字节在固定数据结构中的字节位置是固定的;
S14、若是,则对所述实体信息进行加密及压缩处理之后,将所述待发送数据根据固定数据结构生成对应的消息,该消息由标识信息字节、加密信息字节、用户ID信息字节、长度信息字节以及消息体字节组成;其中,所述消息体字节的个数由所述实体信息的长度决定;所述标识信息字节、所述加密信息字节、所述用户ID信息字节、所述长度信息字节以及所述消息体字节在固定数据结构中的字节位置是固定的;
S15、发送所述消息。
该保持即时通讯实时性的方法通过按照字节数据结构来生成通讯消息,通过标识信息字节来标识该消息对应需要完成的操作,通过加密信息字节来标识该消息是否被加密以及压缩,通过用户ID信息字节来记录发送消息的客户端的用户ID信息,通过长度信息字节来标识该消息的长度,用于获取消息体内容,以及解决通讯包的粘包问题,通过消息体字节来存储实体信息内容。
通过该固定的数据结构使得通讯消息更为简洁,由标识信息字节即可得知该通讯消息用于什么功能从而确定该消息包含了什么信息,并且根据固定的数据结构直接解析该通讯消息中对应字节的数据即可得到对应的目标信息,无需逐一对消息中的各个信息进行对应的标识,例如固定的数据结构规定第3字节至第6字节为用户ID信息,则可直接根据字节序号即可确定哪些为用户ID信息数据,无需额外对用户ID信息数据进行标识以表明该数据为用户ID信息。该方法降低了通讯消息的信息量,从而达到了降低客户端与服务器之间的带宽消耗、减少服务器的解析时间以及降低服务器性能消耗的目的,保证服务器的处理速度,进而确保各个客户端之间的通讯的实时性。
该字节数据结构以第一个字节作为标识信息字节,第二个字节作为加密信息字节,第三至第六个字节作为用户ID信息字节,第七和第八个字节作为长度信息字节,剩下部分为消息体字节,消息体字节的个数由所述消息的实体信息的长度决定,当该消息不具有实体信息时,消息体字节则为0个,也就是说该消息中不含有消息体字节。该字节数据结构具体参见下表:
对于粘包问题的说明:通讯协议是基于服务器与客户端之间保持的长连接实现的,每个长连接基于字节流的方式传递数据,在高并发的情况下,接收方(服务器)可能同时接收到一整串数据包,此时接收方(服务器)无法分辨接收数据包的结束位置,即接收方(服务器)无法分辨接收的数据包是一个数据包或者是多个数据包的集合,此为粘包问题。故此在每个数据包的头部加入该数据包的总长度,接收方(服务器)根据该长度,将每个数据包分离出来(粘包分包)。
作为一种优选的实施方式,所述标识信息字节包含所发送的消息对应需执行的功能标识,用于标识所发送的消息对应需要完成的操作。具体地,所述标识信息字节由一个字节组成,所述功能标识包含重连标识、心跳包标识、消息已读标识、身份验证标识以及实体信息标识。
标识信息字节有8位,通过对这8位赋予不同值来标识不同的作用,具体为:
第一位为保留位,不做处理;保留位指不需要使用的位置,代表目前设计已满足业务需要,如若后期业务需求变动,保留位便可以拿出来使用;
第二位为重连标识位,0:表示重新登录情况,1:表示断线重连情况;
第三位为心跳包标识位,1:表示客户端发送心跳包;
第四位及第五位为消息已读标识位,用于标记客户端已读某条消息或者某个对话,服务器收到该标识后,将该消息状态设为已读,不在下发该条消息;
第六位为身份验证标识位,服务收到该标识则对用户进行身份验证,验证通过的用户进入合法用户队列,验证不通过的用户,服务器对其进行下线处理,由服务器主动断开该长连接;
第七位为保留位;
第八位为实体信息标识位,0:标识该条消息不包含实体信息,1:标识该消息包含实体信息,需要服务器解析。
标识信息字节的结构如下表:
下表为标识信息字节表示各个功能标识所对应的数字编码:
需要说明的是,上述各个位所赋予的含义不是固定的,技术人员可以自行调换,例如,以第一位为重连标识位,第二位为保留位,以此类推。
作为一种优选的实施方式,所述加密信息字节由一个字节组成,所述加密信息字节包含压缩标识位和加密标识位。在本实施例中,使用该字节的第7位和第8位来标识该段消息是否进行了压缩及加密。
该加密信息字节的结构如下表:
以发送一次心跳包检测为例对上述保持即时通讯实时性的方法进行说明:获取待发送的数据,即心跳包数据;将心跳包数据按照字节数据结构转换为可供发送的消息,心跳包检测的消息的格式如下表:
标识信息字节 | 加密信息字节 | 用户ID信息字节 | 长度信息字节 |
1字节(00100000) | 1字节(00000011) | 4个字节 | 2字节 |
也就是说,根据本发明所提供的方法,只需要发送8个字节就可以完成一次心跳包检测。
以此类推,用户重连的消息的格式如下表:
标识信息字节 | 加密信息字节 | 用户ID信息字节 | 长度信息字节 |
1字节(01000000) | 1字节(00000011) | 4个字节 | 2字节 |
根据本发明所提供的方法,只需要发送8个字节就可以完成一次用户重新连接。
身份验证的消息的格式如下表:
根据本发明所提供的方法,发送8个字节再加上验证用户身份信息就能完成一次用户身份验证。
以身份验证为例,通过现有的即时通讯所采用的固定格式的字符串(例如JSON或XML格式的字符串)来发送消息的方式,一般情况下完成一次身份证验证需要发送一段30-50个字符(即:60-100个字节)的数据才能完成该功能。比如采用JSON格式的字符串来进行身份验证,其发送的消息为:{”user_id”:1,”v_m”:123},该消息包含了23个字符,此处仅是为了给予简单的示例,在实际情况中,用户ID信息和验证信息的数据会更为复杂,因此字符会多很多。在JSON格式下,用户ID信息需要用“”user_id”:”这几个字符来进行标识,表明该部分数据为用户ID信息;验证信息需要用“”v_m”:”这几个字符来进行标识,表明该部分数据为验证信息;这些用于标识数据内容的字符在服务器进行具体的身份验证流程中是属于多余数据,但是服务器在接收消息进行解析的时候需要花费内存以及时间在解析这些多余的数据上,影响服务器的处理速度。
而本发明所提供的方法,在第一个字节中就定义了该段数据所要完成的功能,而后续的字节是固定内容,比如第2个字节为加密信息,第3至第6字节为用户ID信息,第7和第8字节为长度信息,第9字节及后续的字节为实体信息,通过字节的序号来确定对应的数据内容是什么,无需通过特定的标识来表明数据内容服务器在进行解析时,也就是说省去了现有固定格式的字符串中的多余数据,达到了减少通讯消息的数据量的目的,客户端只需要发送12-20个字节就可以完成一次身份验证,和现有的数据格式相比节省了近6-10倍的信息量。从而达到了降低客户端与服务器之间的带宽消耗、减少服务器的解析时间以及降低服务器性能消耗的目的,保证服务器的处理速度,进而确保各个客户端之间的通讯的实时性。
请参阅图2,其为本发明提供的另一种保持即时通讯实时性的方法的流程示意图,包括以下步骤:
S21、获取所接收到的具有固定数据结构的消息,所述消息由标识信息字节、加密信息字节、用户ID信息字节、长度信息字节以及消息体字节组成;其中,所述消息体字节的个数由所述消息的实体信息的长度决定;所述标识信息字节、所述加密信息字节、所述用户ID信息字节、所述长度信息字节以及所述消息体字节在固定数据结构中的字节位置是固定的;
S22、根据所述标识信息字节得到该消息对应需完成的操作;
S23、根据所述加密信息字节判断是否需要对所述消息体字节进行解密及解压操作;
S24、解析所述用户ID信息字节以获取用户ID信息;
S25、解析所述长度信息字节以获取该消息的长度;
S26、根据所述长度从所述消息体字节中获取消息体内容,根据加密信息字节的判断结果对所述消息体内容进行处理并根据处理后的消息体内容执行该消息对应需完成的操作。
需要说明的是,当所接收的消息不具有实体信息时,步骤S23和S26省略;例如,在进行心跳包检测时,是不包含实体信息的,因此服务器只需识别标识信息字节得到该消息为心跳包,解析用户ID信息字节获取用户ID信息,根据长度信息进行数据分包以得到完整的消息,避免粘包问题,然后根据心跳包检测功能进行相应的处理即可。
该方法的应用场景为:客户端连接至服务器,通过身份验证及心跳包保活与服务器的长连接,发送实体信息由服务器下发至目标客户端。客户端首次连接到服务器需要发送身份验证信息至服务器,服务器根据身份验证规则判断该次连接是否为安全连接,客户端未发送身份验证信息或身份验证不通过,则断开连接。通过身份验证的连接加入服务器缓存信息中,并通过心跳包保活连接。客户端所发送的用于进行身份验证的消息的格式如下表:
此时,服务器则会依据上述方法来对该消息进行解析,具体如下:
获取第一字节:00000100,根据协议规定确定该消息用于进行身份验证。
获取第二字节:00000011,表示该信息使用了加密并且使用GZip压缩,需要对消息体进行解密解压操作。
解析第三至第六字节,获取到该客户端的用户Id。
解析第七至第八字节,获取该消息的长度,该长度用于获取消息体内容,也用于解决通讯包的粘包问题。
根据上一步获取的长度,从通讯数据中获取完整的消息体内容,再根据规定的验证身份原则对该客户端身份进行验证。
当客户端通过了身份验证之后,该客户端可以通过服务器发送消息给其他客户端。具体地,客户端发送包含实体消息内容的信息至服务器,服务器根据消息体中接收方用户ID,下发至目标客户端。在身份验证步骤中,已将通过身份验证的连接加入服务器缓存信息中,下发消息时,如果目标客户端在线则通过缓存信息中的连接发送,如果目标客户端不在服务器缓存信息中,则该条消息则作为未发送成功消息加入到服务器数据库中,等待目标客户端连接至服务器再重新下发该信息。
客户端发送给其他客户端的消息格式如下表:
此时,服务器则会依据上述方法来对该消息进行解析,具体如下:
获取第一字节:00000001,根据协议规定确定该消息用于发送实体消息给其他客户端。
获取第二字节:00000011,表示该信息使用了加密并且使用GZip压缩,需要对消息体进行解密解压操作。
解析第三至第六字节,获取到该客户端的用户ID。
解析第七至第八字节,获取该消息的长度,该长度用于获取消息体内容。
根据上一步获取的长度,从通讯数据中获取完成的消息体内容,通过解析该消息体内容(解析Json),获取目标用户ID及实体消息内容。
根据目标用户ID,从缓存信息中查找该目标用户的连接,如果存在则通过该连接发送实体消息内容,如果不存在则将该实体消息内容存入数据,等待目标用户连接后再重新发送该实体消息内容。
作为一种优选的实施方式,所述标识信息字节包含所发送的消息对应需执行的功能标识,用于标识所发送的消息对应需要完成的操作。
作为一种优选的实施方式,所述标识信息字节由一个字节组成,所述功能标识包含重连标识、心跳包标识、消息已读标识、身份验证标识以及实体信息标识。
作为一种优选的实施方式,所述加密信息字节由一个字节组成,所述加密信息字节包含压缩标识位和加密标识位。
本发明还提供了一种电子设备,包括处理器和存储器,所述存储器存储有可执行计算机程序,所述处理器可读取所述存储器中的计算机程序并运行以实现如上所述的保持即时通讯实时性的方法。
此外本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有可执行计算机程序,所述计算机程序运行时可实现如上所述的保持即时通讯实时性的方法。
该计算机可读存储介质存储有计算机程序,本发明的方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在该计算机存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机存储介质不包括电载波信号和电信信号。
上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。
Claims (10)
1.一种保持即时通讯实时性的方法,其特征在于,包括以下步骤:
获取待发送数据;
判断所述待发送数据是否包含实体信息;
若否,则将所述待发送数据根据固定数据结构生成对应的消息,该消息由标识信息字节、加密信息字节、用户ID信息字节以及长度信息字节组成;所述标识信息字节、所述加密信息字节、所述用户ID信息字节以及所述长度信息字节在固定数据结构中的字节位置是固定的;
若是,则对所述实体信息进行加密及压缩处理之后,将所述待发送数据根据固定数据结构生成对应的消息,该消息由标识信息字节、加密信息字节、用户ID信息字节、长度信息字节以及消息体字节组成;其中,所述消息体字节的个数由所述实体信息的长度决定;所述标识信息字节、所述加密信息字节、所述用户ID信息字节、所述长度信息字节以及所述消息体字节在固定数据结构中的字节位置是固定的;
发送所述消息。
2.如权利要求1所述的保持即时通讯实时性的方法,其特征在于,所述标识信息字节包含所发送的消息对应需执行的功能标识,用于标识所发送的消息对应需要完成的操作。
3.如权利要求2所述的保持即时通讯实时性的方法,其特征在于,所述标识信息字节由一个字节组成,所述功能标识包含重连标识、心跳包标识、消息已读标识、身份验证标识以及实体信息标识。
4.如权利要求1所述的保持即时通讯实时性的方法,其特征在于,所述加密信息字节由一个字节组成,所述加密信息字节包含压缩标识位和加密标识位。
5.一种保持即时通讯实时性的方法,其特征在于,包括以下步骤:
获取所接收到的具有固定数据结构的消息,所述消息由标识信息字节、加密信息字节、用户ID信息字节、长度信息字节以及消息体字节组成;其中,所述消息体字节的个数由所述消息的实体信息的长度决定;所述标识信息字节、所述加密信息字节、所述用户ID信息字节、所述长度信息字节以及所述消息体字节在固定数据结构中的字节位置是固定的;
根据所述标识信息字节得到该消息对应需完成的操作;
根据所述加密信息字节判断是否需要对所述消息体字节进行解密及解压操作;
解析所述用户ID信息字节以获取用户ID信息;
解析所述长度信息字节以获取该消息的长度;
根据所述长度从所述消息体字节中获取消息体内容,根据加密信息字节的判断结果对所述消息体内容进行处理并根据处理后的消息体内容执行该消息对应需完成的操作。
6.如权利要求5所述的保持即时通讯实时性的方法,其特征在于,所述标识信息字节包含所发送的消息对应需执行的功能标识,用于标识所发送的消息对应需要完成的操作。
7.如权利要求6所述的保持即时通讯实时性的方法,其特征在于,所述标识信息字节由一个字节组成,所述功能标识包含重连标识、心跳包标识、消息已读标识、身份验证标识以及实体信息标识。
8.如权利要求5所述的保持即时通讯实时性的方法,其特征在于,所述加密信息字节由一个字节组成,所述加密信息字节包含压缩标识位和加密标识位。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有可执行计算机程序,所述处理器可读取所述存储器中的计算机程序并运行以实现如权利要求1至8任一项所述的保持即时通讯实时性的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有可执行计算机程序,所述计算机程序运行时可实现如权利要求1至8任一项所述的保持即时通讯实时性的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910577230.7A CN110474834A (zh) | 2019-06-28 | 2019-06-28 | 一种保持即时通讯实时性的方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910577230.7A CN110474834A (zh) | 2019-06-28 | 2019-06-28 | 一种保持即时通讯实时性的方法、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110474834A true CN110474834A (zh) | 2019-11-19 |
Family
ID=68507121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910577230.7A Pending CN110474834A (zh) | 2019-06-28 | 2019-06-28 | 一种保持即时通讯实时性的方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110474834A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296197A (zh) * | 2008-06-30 | 2008-10-29 | 腾讯科技(深圳)有限公司 | 即时通讯消息的传输方法和系统 |
CN103391240A (zh) * | 2013-06-28 | 2013-11-13 | 腾讯科技(深圳)有限公司 | 一种即时通讯实现方法及装置 |
CN105634684A (zh) * | 2014-11-19 | 2016-06-01 | 中国移动通信集团广东有限公司 | 一种数据包的处理方法、装置及服务器 |
CN106411963A (zh) * | 2016-12-16 | 2017-02-15 | 北京元心科技有限公司 | 即时通讯消息的传输方法及装置 |
CN107018147A (zh) * | 2017-05-09 | 2017-08-04 | 上海斐讯数据通信技术有限公司 | 一种物联网通信方法及系统、网关模块 |
CN107426198A (zh) * | 2017-07-05 | 2017-12-01 | 北京辰安信息科技有限公司 | 一种通信的方法及系统 |
CN108449262A (zh) * | 2018-04-08 | 2018-08-24 | 成都万维图新信息技术有限公司 | 一种即时通信数据的传输方法 |
-
2019
- 2019-06-28 CN CN201910577230.7A patent/CN110474834A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296197A (zh) * | 2008-06-30 | 2008-10-29 | 腾讯科技(深圳)有限公司 | 即时通讯消息的传输方法和系统 |
CN103391240A (zh) * | 2013-06-28 | 2013-11-13 | 腾讯科技(深圳)有限公司 | 一种即时通讯实现方法及装置 |
CN105634684A (zh) * | 2014-11-19 | 2016-06-01 | 中国移动通信集团广东有限公司 | 一种数据包的处理方法、装置及服务器 |
CN106411963A (zh) * | 2016-12-16 | 2017-02-15 | 北京元心科技有限公司 | 即时通讯消息的传输方法及装置 |
CN107018147A (zh) * | 2017-05-09 | 2017-08-04 | 上海斐讯数据通信技术有限公司 | 一种物联网通信方法及系统、网关模块 |
CN107426198A (zh) * | 2017-07-05 | 2017-12-01 | 北京辰安信息科技有限公司 | 一种通信的方法及系统 |
CN108449262A (zh) * | 2018-04-08 | 2018-08-24 | 成都万维图新信息技术有限公司 | 一种即时通信数据的传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109167750B (zh) | 一种数据包传输方法、装置、电子设备及存储介质 | |
CN110311886A (zh) | 服务器漏洞检测方法、装置、设备和存储介质 | |
CN103532984A (zh) | websocket协议的数据传输方法、设备和系统 | |
CN105991412A (zh) | 消息推送方法及装置 | |
CN107862074A (zh) | 大数据量参数快速读写方法 | |
CN114553730B (zh) | 一种应用识别方法、装置、电子设备及存储介质 | |
US20180083777A1 (en) | Methods, systems, apparatuses, and devices for securing network communications using multiple security protocols | |
CN113660250A (zh) | 基于web应用防火墙的防御方法、装置、系统和电子装置 | |
CN113630418B (zh) | 一种网络服务识别方法、装置、设备及介质 | |
CN106533728B (zh) | 服务器信息收集方法和装置 | |
CN112968919A (zh) | 一种数据处理方法、装置、设备和存储介质 | |
CN109710502A (zh) | 日志传输方法、装置及存储介质 | |
CN108255659A (zh) | 一种应用程序性能监控方法及其系统 | |
CN108460044B (zh) | 数据的处理方法和装置 | |
CN104079580B (zh) | 教务教学图像语音识别系统及方法 | |
CN110474834A (zh) | 一种保持即时通讯实时性的方法、电子设备及存储介质 | |
CN103220260A (zh) | 更新数据的方法、服务器、客户端及系统 | |
CN115801927A (zh) | 报文解析方法及装置 | |
CN107360594B (zh) | 一种信息处理方法及装置 | |
CN103873355B (zh) | 一种信息配对方法 | |
CN107835243A (zh) | 一种数据传输方法、系统、电子设备及存储介质 | |
CN108156134A (zh) | 一种基于FPGA的Spice协议解析系统 | |
CN114244556A (zh) | 一种协议代理方法及装置 | |
CN100527753C (zh) | 一种传输网点业务报文的方法和系统 | |
CN111030804A (zh) | 一种故障信息的传输方法、装置、系统、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191119 |