CN110324297A - 一种消息处理方法及装置 - Google Patents

一种消息处理方法及装置 Download PDF

Info

Publication number
CN110324297A
CN110324297A CN201810310774.2A CN201810310774A CN110324297A CN 110324297 A CN110324297 A CN 110324297A CN 201810310774 A CN201810310774 A CN 201810310774A CN 110324297 A CN110324297 A CN 110324297A
Authority
CN
China
Prior art keywords
message
binary
block
message block
target socket
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
Application number
CN201810310774.2A
Other languages
English (en)
Inventor
孟志兵
张文明
陈少杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810310774.2A priority Critical patent/CN110324297A/zh
Publication of CN110324297A publication Critical patent/CN110324297A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种消息处理方法方法及装置,该方法包括:在建立与目标socket服务端的连接之后,接收来自目标socket服务端的N个二进制消息块,其中,所述N个二进制消息块为目标socket服务端下发的第一消息被拆分为N个二进制消息块,并以N个二进制消息块传送至目标socket客户端,N为大于或等于1的整数;将N个二进制消息块拼接为二进制完整消息;解析二进制完整消息,获得与二进制完整消息对应的目标信息。从而本发明解决了现有技术中socket通信的处理效率较低的技术问题。

Description

一种消息处理方法及装置
技术领域
本发明涉及数据传输领域,尤其涉及一种消息处理方法及装置。
背景技术
Android设备与服务端的通信方式主要有两种,一种是HTTP通信,另一种是socket(套接字)通信。两者的最大差异在于,HTTP连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务端发送请求后,服务端才能向客户端返回数据。而socket通信则是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主动推送,而不需要每次由客户端向服务端发送请求。在程序内部提供了与外界通信的端口,即端口通信。通过建立socket连接,可为通信双方的数据传输传提供通道。socket通信有数据丢失率低,使用简单且易于移植的优点。
现有技术中,Android设备与服务端的socket通信中,基于已经封装好的库,服务端与客户端之间的传输的数据是转换为字符串的方式互相传递,因此,客户端得到字符串消息后,需要进行转换才能被客户端解析使用,因此,socket通信的处理效率较低。
发明内容
本发明实施例通过提供一种消息处理方法及装置,解决了现有技术中socket通信的处理效率较低的技术问题。
第一方面,本发明实施例提供一种消息处理方法,应用于目标socket客户端,包括:
在建立与目标socket服务端的连接之后,接收来自所述目标socket服务端的N个二进制消息块,其中,所述N个二进制消息块为所述目标socket服务端下发的第一消息被拆分为所述N个二进制消息块,将所述N个二进制消息块传送至所述目标socket客户端,N为大于或等于1的整数;
将所述N个二进制消息块拼接为二进制完整消息;
解析所述二进制完整消息,获得与所述二进制完整消息对应的目标信息。
可选的,所述第一消息包括消息头和消息体,所述消息头中记录有消息体长度;所述第一消息被拆分后,所述消息体长度携带在所述N个二进制消息块的第一个二进制消息块中;
所述将所述N个二进制消息块拼接为二进制完整消息体,包括:
接收来自所述目标socket服务端的所述N个二进制消息块的第一个二进制消息块;
从所述N个二进制消息块的第一个二进制消息块中识别出所述消息体长度;
根据所述消息体长度,接收所述N个二进制消息块中在第一个二进制消息块之后的各个二进制消息块,直至接收到所述N个二进制消息块;
拼接所述N个二进制消息块,得到所述二进制完整消息。
可选的,所述根据所述消息体长度,接收所述N个二进制消息块中在第一个二进制消息块之后的各个二进制消息块,包括:
如果所述第一个二进制消息块中数据部分的长度大于或等于所述消息头中记录的消息体长度,则确定所述第一个二进制消息块为所述二进制完整消息;
否则,等待接收在所述第一个二进制消息块之后的二进制消息块,直到接收到的包括所述第一个二进制消息块在内的各个二进制消息块的数据总长度达到所述消息头中记录的消息体长度。
可选的,所述目标socket客户端具体为应用于游戏场景的游戏客户端。
第二方面,本发明实施例提供一种消息处理方法,应用于目标socket服务端,包括:
获取待下发的第一消息;
在建立与目标socket客户端的连接之后,将所述第一消息拆分为N个二进制消息块,N为大于或等于1的整数;
传送所述N个二进制消息块至所述目标socket客户端,使得所述目标socket客户端基于N个二进制消息块拼接为二进制完整消息之后,通过解析所述二进制完整消息获得目标信息。
可选的,所述将所述第一消息拆分为N个二进制消息块,包括:
根据所述目标socket客户端与所述目标socket服务端之间的二进制流限制,将所述第一消息进行拆分为N个二进制消息块,所述N个二进制消息块中每个二进制消息块的长度小于或等于所述二进制流限制。
第三方面,本发明实施例提供了一种目标socket客户端,包括:
消息块接收单元,用于在建立与目标socket服务端的连接之后,接收来自所述目标socket服务端的N个二进制消息块,其中,所述N个二进制消息块为所述目标socket服务端下发的第一消息被拆分为所述N个二进制消息块,将所述N个二进制消息块传送至所述目标socket客户端,N为大于或等于1的整数;
消息拼接单元,用于将所述N个二进制消息块拼接为二进制完整消息;
消息接收单元,用于解析所述二进制完整消息,获得与所述二进制完整消息对应的目标信息。
可选的,所述第一消息包括消息头和消息体,所述消息头中记录有消息体长度;所述第一消息被拆分后,所述消息体长度携带在所述N个二进制消息块的第一个二进制消息块中;
所述消息拼接单元,包括:
第一接收子单元,用于接收来自所述目标socket服务端的所述N个二进制消息块的第一个二进制消息块;
长度识别子单元,用于从所述N个二进制消息块的第一个二进制消息块中识别出所述消息体长度;
第二接收子单元,用于根据所述消息体长度,接收所述N个二进制消息块中在第一个二进制消息块之后的各个二进制消息块,直至接收到所述N个二进制消息块;
拼接子单元,用于拼接所述N个二进制消息块,得到所述二进制完整消息。
可选的,所述第二接收子单元,具体用于:如果所述第一个二进制消息块中数据部分的长度大于或等于所述消息头中记录的消息体长度,则确定所述第一个二进制消息块为所述二进制完整消息;
否则,等待接收在所述第一个二进制消息块之后的二进制消息块,直到接收到的包括所述第一个二进制消息块在内的各个二进制消息块的数据总长度达到所述消息头中记录的消息体长度。
可选的,所述目标socket客户端具体为应用于游戏场景的游戏客户端。
第四方面,本发明实施例提供一种目标socket服务端,包括:
消息获取单元,用于获取待下发的第一消息;
消息拆分单元,用于在建立与目标socket客户端的连接之后,将所述第一消息拆分为N个二进制消息块,N为大于或等于1的整数;
消息块下发单元,用于传送所述N个二进制消息块至所述目标socket客户端,使得所述目标socket客户端基于N个二进制消息块拼接为二进制完整消息之后,通过解析所述二进制完整消息获得目标信息。
可选的,所述消息拆分单元,具体用于:
根据所述目标socket客户端与所述目标socket服务端之间的二进制流限制,将所述第一消息进行拆分为N个二进制消息块,所述N个二进制消息块中每个二进制消息块的长度小于或等于所述二进制流限制。
第五方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一实施方式所述的消息处理方法、或者第二方面中任一实施方式所述的消息处理方法。
第六方面,本发明实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面中任一实施方式所述的消息处理方法、或者第二方面中任一实施方式所述的消息处理方法。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
通过在建立与目标socket服务端的连接之后,接收来自目标socket服务端的N个二进制消息块,N个二进制消息块为目标socket服务端下发的第一消息被拆分为N个二进制消息块,并以N个二进制消息块传送至目标socket客户端,从而使得信息数据能够能够以二进制流向目标socket客户端,使得目标socket客户端在接收到N个二进制消息块,直接就可以将N个二进制消息块拼接为二进制完整消息;并且解析二进制完整消息获得与二进制完整消息对应的目标信息,而不需要经过转换为字符串的过程,而转换为字符串是比较耗时的,因此,通过二进制传送消息至目标socket客户端,能够提高socket通信的处理效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的应用于目标socket客户端的消息处理方法的流程图;
图2为本发明实施例提供的应用于目标socket服务端的消息处理方法的流程图;
图3为本发明实施例提供的应用于目标socke客户端的程序模块图;
图4为本发明实施例提供的应用于目标socke服务端的程序模块图;
图5为本发明实施例提供的计算机可读存储介质的结构示意图;
图6为本发明实施例提供的计算机设备的结构示意图。
具体实施方式
本发明实施例通过提供一种消息处理方法及装置,解决了现有技术中socket通信的处理效率较低的技术问题。
参考图1所示,本发明实施例提供的一种消息处理方法,应用于目标socket客户端,包括如下步骤:
S101、在建立与目标socket服务端的连接之后,接收来自所述目标socket服务端的N个二进制消息块,其中,所述N个二进制消息块为所述目标socket服务端下发的第一消息被拆分为所述N个二进制消息块,将所述N个二进制消息块传送至所述目标socket客户端,N为大于或等于1的整数。
S102、将所述N个二进制消息块拼接为二进制完整消息。
S103、解析所述二进制完整消息,获得与所述二进制完整消息对应的目标信息。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先,执行步骤S101:在建立与目标socket服务端的连接之后,接收来自所述目标socket服务端的N个二进制消息块,其中,所述N个二进制消息块为所述目标socket服务端下发的第一消息被拆分为所述N个二进制消息块,将所述N个二进制消息块传送至所述目标socket客户端,N为大于或等于1的整数。
下面,对目标socket客户端与目标socket服务端之间建立连接的过程进行描述:
步骤1、目标socket服务端监听连接请求:目标socket服务端当前的套接字(socket)并不定位具体的客户端的套接字socket,而是处于等待连接的状态,实时监控网络状态,等待socket客户端的连接请求。需要说明的是,目标socket客户端为目标socket服务端所监听连接请求的socket客户端中的一个。
步骤2、目标socket客户端发起连接请求:目标socket客户端向目标socket服务端发起连接请求,连接请求中携带有需要连接的目标socket服务端的套接字(socket)。目标socket客户端的套接字(socket)首先描述所要连接的目标socket服务端的套接字(socket)。具体的,是通过指出目标socket服务端的套接字(socket)的地址和端口号,向目标socket服务端的socket提出连接请求。
步骤3、连接确认:当目标socket服务端的套接字(socket)监听到或者接收到目标socket客户端的套接字(socket)的连接请求时,就响应于目标socket客户端的套接字(socket)的连接请求,建立一个新的线程,把目标socket服务端的套接字(socket)的描述发给目标socket客户端,一旦目标socket客户端确认了此描述,目标socket客户端就与目标socket服务端正式建立socket连接。而目标socket服务端的套接字(socket)继续处于监听状态,继续接收其他的socket客户端的套接字(socket)的连接请求。
目标socket客户端与目标socket服务端正式建立socket连接之后,接收来自目标socket服务端的N个二进制消息块。
具体来讲,如果目标socket服务端需要向目标socket客户端下发第一消息,则目标socket服务端将第一消息拆分为N个二进制消息块,传送所述N个二进制消息块至所述目标socket客户端。
需要说明的是,二进制消息块是指以“0”、“1”形式存在的消息块。
具体的,第一消息包括消息体和一个消息头,所述消息头中记录有消息体的消息体长度,所述消息体中携带的数据部分为目标信息。第一消息拆分为二进制消息块的数目“N”与消息头中所记录的消息体长度相关。同时的,数目“N”还与目标socket客户端与目标socket服务端之间传送二进制消息的二进制流限制相关。在具体实施过程中,消息头中记录的消息体长度越长,N的数值越大,即第一消息拆分为二进制消息块的数目N就越多,相反的,消息头中记录的消息体长度越短,N的数值就越小,即拆分为二进制消息块的数目N就越少。具体来讲,数目“N”的值等于第一消息的消息头中记录的消息体长度除以二进制流限制。
需要说明的是,二进制流限制为目标socket客户端与目标socket服务端之间传输二进制消息的字节上限。
在具体实施过程中,目标socket服务端将N个二进制消息块依次向目标socket客户端传送,从而目标socket客户端依次接收到N个二进制消息的第一个二进制消息块、第二个二进制消息块、第三个二进制消息块,直到接收到第N个二进制消息块。
在第一消息被拆分后,所述消息头在所述N个二进制消息块中的第一个二进制消息块中,使得消息体长度这一参数记录在N个二进制消息块的第一个二进制消息块中。在具体实施过程中,可以用4字节无符号整数在消息头表示出消息体长度。第一个二进制消息块之后的各个二进制消息中携带的均为第一消息的消息体中的目标信息。
目标socket客户端将所述N个二进制消息块拼接为二进制完整消息体的实施过程,具体包括:
首先,执行步骤a:接收来自目标socket服务端的N个二进制消息块中的第一个二进制消息块;
在步骤a之后,接着执行步骤b:从所述N个二进制消息块的第一个二进制消息块中识别出第一消息的消息体长度。具体而言,先识别出第一消息中的消息头,再从消息头中识别出在消息头中记录的消息体长度。具体而言,消息头中还可以记录有消息体类型,比如,消息体类型是指传送的是图片内容、文字内容、还是语音内容。
在步骤b之后,接着执行步骤c:根据第一消息的消息头中记录的消息体长度,接收所述N个二进制消息块中在第一个二进制消息块之后的各个二进制消息块。
在一实施方式中,步骤c具体为:如果第一个二进制消息块中数据部分的长度大于或等于消息头中记录的消息体长度,则确定第一个二进制消息块为所述二进制完整消息;否则,等待接收在第一个二进制消息块之后的各个二进制消息块,直到接收到的包括所述第一个二进制消息块在内的各个二进制消息块的数据总长度达到所述消息头中记录的消息体长度,则此时,接收到的全部二进制消息块为对应为第一消息拆分为的N个二进制消息块。
在目标信息的数据量足够小时,具体而言,小于或等于消息头中记录的消息体长度,则可以不拆分,以一个二进制消息块就可以传送。比如,消息头中记录的消息体长度这一参数为32KB,则如果接收到的第一个二进制消息块中的数据部分有32KB或者更多,则接收到第一个二进制消息块就确定一条消息接受完,确定第一个二进制消息块为第一消息对应的二进制完整消息,而不会等待接收后续的二进制消息块。
在步骤c之后,如果N为多个,接着执行步骤d:拼接所述N个二进制消息块,得到所述二进制完整消息。
在具体实施过程中,本实施例所描述的消息处理方法可以应用于多种场景:
场景一、目标socket客户端具体为游戏客户端、而目标socket服务端具体为游戏服务端的游戏场景中,此时,第一消息的消息体中携带的目标信息为游戏服务端向游戏客户端下发的游戏数据内容。
场景二、目标socket客户端具体为社交客户端,而目标socket服务端具体为社交服务端的网络社交场景中,此时,第一消息的消息体中携带的目标信息为社交服务端向社交客户端下发的聊天数据内容,或推送的广告内容等等。
场景三、目标socket客户端具体为支付客户端,目标socket服务端具体为支付服务端的支付场景中,此时,第一消息的消息体中携带的目标信息为支付服务端向支付客户端下发的支付相关数据。
进一步的,在步骤S103之后,可以从缓存中清理所接收到的N个二进制消息块。
基于同一发明构思,本发明实施例提供一种消息处理方法,应用于目标socket服务端,参考图2所示,包括如下步骤:
S201、获取待下发的第一消息;
S202、在建立与目标socket客户端的连接之后,将所述第一消息拆分为N个二进制消息块,N为大于或等于1的整数;
S203、传送所述N个二进制消息块至所述目标socket客户端,使得所述目标socket客户端基于N个二进制消息块拼接为二进制完整消息之后,通过解析所述二进制完整消息获得目标信息。
在一具体实施例中,所述将所述第一消息拆分为N个二进制消息块,包括:
根据所述目标socket客户端与所述目标socket服务端之间的二进制流限制,将所述第一消息进行拆分为N个二进制消息块,所述N个二进制消息块中每个二进制消息块的长度小于或等于所述二进制流限制。
基于同一发明构思,本发明实施例提供一种目标socket客户端,参考图3所示,包括:
消息块接收单元301,用于在建立与目标socket服务端的连接之后,接收来自所述目标socket服务端的N个二进制消息块,其中,所述N个二进制消息块为所述目标socket服务端下发的第一消息被拆分为所述N个二进制消息块,将所述N个二进制消息块传送至所述目标socket客户端,N为大于或等于1的整数;
消息拼接单元302,用于将所述N个二进制消息块拼接为二进制完整消息;
消息接收单元303,用于解析所述二进制完整消息,获得与所述二进制完整消息对应的目标信息。
可选的,所述第一消息包括消息头和消息体,所述消息头中记录有消息体长度;所述第一消息被拆分后,所述消息体长度携带在所述N个二进制消息块的第一个二进制消息块中;
所述消息拼接单元302,包括:
第一接收子单元,用于接收来自所述目标socket服务端的所述N个二进制消息块的第一个二进制消息块;
长度识别子单元,用于从所述N个二进制消息块的第一个二进制消息块中识别出所述消息体长度;
第二接收子单元,用于根据所述消息体长度,接收所述N个二进制消息块中在第一个二进制消息块之后的N-1个二进制消息块;
拼接子单元,用于拼接所述N个二进制消息块,得到所述二进制完整消息。
可选的,所述第二接收子单元,具体用于:如果所述第一个二进制消息块中数据部分的长度大于或等于所述消息头中记录的消息体长度,则确定所述第一个二进制消息块为所述二进制完整消息;
否则,等待接收在所述第一个二进制消息块之后的二进制消息块,直到接收到的包括所述第一个二进制消息块在内的各个二进制消息块的数据总长度达到所述消息头中记录的消息体长度。
可选的,所述目标socket客户端具体为应用于游戏场景的游戏客户端。
基于同一发明构思,本发明实施例还提供一种目标socket服务端,参考图4所示,包括:
消息获取单元401,用于获取待下发的第一消息;
消息拆分单元402,用于在建立与目标socket客户端的连接之后,将所述第一消息拆分为N个二进制消息块,N为大于或等于1的整数;
消息块下发单元404,用于传送所述N个二进制消息块至所述目标socket客户端,使得所述目标socket客户端基于N个二进制消息块拼接为二进制完整消息之后,通过解析所述二进制完整消息获得目标信息。
可选的,所述消息拆分单元402,具体用于:
根据所述目标socket客户端与所述目标socket服务端之间的二进制流限制,将所述第一消息进行拆分为N个二进制消息块,所述N个二进制消息块中每个二进制消息块的长度小于或等于所述二进制流限制。
基于同一发明构思,本发明实施例提供了一种计算机可读存储介质501,参考图5所示,其上存储有计算机程序502,该程序502被处理器执行时实现前述应用于目标socket客户端的消息处理方法实施例中任一个实施方式所述的步骤,或者实现应用于目标socket服务端的消息处理方法实施例中任一个实施方式所述的步骤。
基于同一发明构思,本发明实施例提供了一种计算机设备600,参考图6所示,包括存储器610、处理器630及存储在存储器610上并可在处理器630上运行的计算机程序620,所述处理器630执行所述程序620时实现前述应用于目标socket客户端的消息处理方法实施例中任一个实施方式所述的步骤,或者实现应用于目标socket服务端的消息处理方法实施例中任一个实施方式所述的步骤。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
通过在建立与目标socket服务端的连接之后,接收来自目标socket服务端的N个二进制消息块,N个二进制消息块为目标socket服务端下发的第一消息被拆分为N个二进制消息块,并以N个二进制消息块传送至目标socket客户端,从而使得信息数据能够能够以二进制流向目标socket客户端,使得目标socket客户端在接收到N个二进制消息块,直接就可以将N个二进制消息块拼接为二进制完整消息;并且解析二进制完整消息获得与二进制完整消息对应的目标信息,而不需要经过转换为字符串的过程,而转换为字符串是比较耗时的,因此,通过二进制传送消息至目标socket客户端,能够提高socket通信的处理效率。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种消息处理方法,应用于目标socket客户端,其特征在于,包括:
在建立与目标socket服务端的连接之后,接收来自所述目标socket服务端的N个二进制消息块,其中,所述N个二进制消息块为所述目标socket服务端下发的第一消息被拆分为所述N个二进制消息块,将所述N个二进制消息块传送至所述目标socket客户端,N为大于或等于1的整数;
将所述N个二进制消息块拼接为二进制完整消息;
解析所述二进制完整消息,获得与所述二进制完整消息对应的目标信息。
2.如权利要求1所述的消息处理方法,其特征在于,所述第一消息包括消息头和消息体,所述消息头中记录有消息体长度;所述第一消息被拆分后,所述消息体长度携带在所述N个二进制消息块的第一个二进制消息块中;
所述将所述N个二进制消息块拼接为二进制完整消息体,包括:
接收来自所述目标socket服务端的所述N个二进制消息块的第一个二进制消息块;
从所述N个二进制消息块的第一个二进制消息块中识别出所述消息体长度;
根据所述消息体长度,接收所述N个二进制消息块中在第一个二进制消息块之后的各个二进制消息块,直至接收到所述N个二进制消息块;
拼接所述N个二进制消息块,得到所述二进制完整消息。
3.如权利要求2所述的消息处理方法,其特征在于,所述根据所述消息体长度,接收所述N个二进制消息块中在第一个二进制消息块之后的各个二进制消息块,包括:
如果所述第一个二进制消息块中数据部分的长度大于或等于所述消息头中记录的消息体长度,则确定所述第一个二进制消息块为所述二进制完整消息;
否则,等待接收在所述第一个二进制消息块之后的二进制消息块,直到接收到的包括所述第一个二进制消息块在内的各个二进制消息块的数据总长度达到所述消息头中记录的消息体长度。
4.如权利要求1-3中任一项所述的消息处理方法,其特征在于,所述目标socket客户端具体为应用于游戏场景的游戏客户端。
5.一种消息处理方法,应用于目标socket服务端,其特征在于,包括:
获取待下发的第一消息;
在建立与目标socket客户端的连接之后,将所述第一消息拆分为N个二进制消息块,N为大于或等于1的整数;
传送所述N个二进制消息块至所述目标socket客户端,使得所述目标socket客户端基于N个二进制消息块拼接为二进制完整消息之后,通过解析所述二进制完整消息获得目标信息。
6.如权利要求5所述的消息处理方法,其特征在于,所述将所述第一消息拆分为N个二进制消息块,包括:
根据所述目标socket客户端与所述目标socket服务端之间的二进制流限制,将所述第一消息进行拆分为N个二进制消息块,所述N个二进制消息块中每个二进制消息块的长度小于或等于所述二进制流限制。
7.一种目标socket客户端,其特征在于,包括:
消息块接收单元,用于在建立与目标socket服务端的连接之后,接收来自所述目标socket服务端的N个二进制消息块,其中,所述N个二进制消息块为所述目标socket服务端下发的第一消息被拆分为所述N个二进制消息块,将所述N个二进制消息块传送至所述目标socket客户端,N为大于或等于1的整数;
消息拼接单元,用于将所述N个二进制消息块拼接为二进制完整消息;
消息接收单元,用于解析所述二进制完整消息,获得与所述二进制完整消息对应的目标信息。
8.一种目标socket服务端,其特征在于,包括:
消息获取单元,用于获取待下发的第一消息;
消息拆分单元,用于在建立与目标socket客户端的连接之后,将所述第一消息拆分为N个二进制消息块,N为大于或等于1的整数;
消息块下发单元,用于传送所述N个二进制消息块至所述目标socket客户端,使得所述目标socket客户端基于N个二进制消息块拼接为二进制完整消息之后,通过解析所述二进制完整消息获得目标信息。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-6中任一项所述的消息处理方法。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-6中任一项所述的消息处理方法。
CN201810310774.2A 2018-03-30 2018-03-30 一种消息处理方法及装置 Pending CN110324297A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810310774.2A CN110324297A (zh) 2018-03-30 2018-03-30 一种消息处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810310774.2A CN110324297A (zh) 2018-03-30 2018-03-30 一种消息处理方法及装置

Publications (1)

Publication Number Publication Date
CN110324297A true CN110324297A (zh) 2019-10-11

Family

ID=68112531

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810310774.2A Pending CN110324297A (zh) 2018-03-30 2018-03-30 一种消息处理方法及装置

Country Status (1)

Country Link
CN (1) CN110324297A (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050135361A1 (en) * 2003-12-17 2005-06-23 Eun-Ji Lim Socket compatibility layer for toe
CN103237049A (zh) * 2013-03-18 2013-08-07 北京易华录信息技术股份有限公司 一种文件传输方法及装置
CN104301344A (zh) * 2013-07-17 2015-01-21 北京奇虎科技有限公司 文件传输方法、终端及系统
CN104298718A (zh) * 2014-09-23 2015-01-21 中国南方电网有限责任公司 一种基于soa的分布式图档系统
CN104796448A (zh) * 2014-01-22 2015-07-22 腾讯科技(深圳)有限公司 网络系统的数据处理方法和装置
CN105429982A (zh) * 2015-11-20 2016-03-23 北京畅游天下网络技术有限公司 一种客户端与服务器端通信内容的解析方法及装置
CN105743865A (zh) * 2014-12-12 2016-07-06 上海大潮电子技术有限公司 多媒体文件数据传输系统及传输方法
CN106937287A (zh) * 2017-04-01 2017-07-07 四川艾特赢泰智能科技有限责任公司 一种针对Android设备的无线数据安全传输方法
CN107070613A (zh) * 2017-03-22 2017-08-18 公安部交通管理科学研究所 分布式网络环境下数据可靠传输方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050135361A1 (en) * 2003-12-17 2005-06-23 Eun-Ji Lim Socket compatibility layer for toe
CN103237049A (zh) * 2013-03-18 2013-08-07 北京易华录信息技术股份有限公司 一种文件传输方法及装置
CN104301344A (zh) * 2013-07-17 2015-01-21 北京奇虎科技有限公司 文件传输方法、终端及系统
CN104796448A (zh) * 2014-01-22 2015-07-22 腾讯科技(深圳)有限公司 网络系统的数据处理方法和装置
CN104298718A (zh) * 2014-09-23 2015-01-21 中国南方电网有限责任公司 一种基于soa的分布式图档系统
CN105743865A (zh) * 2014-12-12 2016-07-06 上海大潮电子技术有限公司 多媒体文件数据传输系统及传输方法
CN105429982A (zh) * 2015-11-20 2016-03-23 北京畅游天下网络技术有限公司 一种客户端与服务器端通信内容的解析方法及装置
CN107070613A (zh) * 2017-03-22 2017-08-18 公安部交通管理科学研究所 分布式网络环境下数据可靠传输方法
CN106937287A (zh) * 2017-04-01 2017-07-07 四川艾特赢泰智能科技有限责任公司 一种针对Android设备的无线数据安全传输方法

Similar Documents

Publication Publication Date Title
CN105635180B (zh) 消息推送方法及装置
CN104144098B (zh) 消息推送方法、系统及推送服务器设备
CN109152094B (zh) 用于终端的无线网络连接方法
CN101127623A (zh) 数据处理方法、装置及系统
CN107395559B (zh) 基于redis的数据处理方法及设备
CN114500633B (zh) 数据转发方法、相关装置、程序产品及数据传输系统
CN114466226B (zh) 带宽时长占比确定方法、装置、设备和计算机可读介质
CN115396529A (zh) 多通道通信方法、装置、终端设备及存储介质
CN103078869A (zh) 一种加速会话转发的系统及其方法
CN104683288B (zh) 消息续传方法和装置
CN103561013B (zh) 流媒体的数据分发系统
CN106210751B (zh) 网络视频直播数据分层传输的方法及系统
CN106488055A (zh) 话单排重方法、数据节点设备及路由节点设备
CN110324297A (zh) 一种消息处理方法及装置
CN106657135A (zh) 一种基于安全套接层协议认证的文件传输方法及设备
CN108234567A (zh) 数字报文件的上传方法、客户端、云存储平台和服务器
CN110719233A (zh) 用于发送信息的方法及装置
CN101448136B (zh) 实现视频点播功能的方法和系统
CN107342981B (zh) 传感器数据的传输方法及装置、虚拟现实头戴设备
CN107249194A (zh) 管理无线网络连接的方法、装置及设备
CN112346661B (zh) 数据处理方法、装置和电子设备
CN109831467A (zh) 数据传输方法、设备及系统
CN103391481A (zh) 一种基于实时消息传送协议的数据交互方法、装置和系统
CN103685449B (zh) 信息处理装置及控制方法
CN113014961A (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

Application publication date: 20191011

RJ01 Rejection of invention patent application after publication