CN111010447A - 一种数据通信方法及装置 - Google Patents
一种数据通信方法及装置 Download PDFInfo
- Publication number
- CN111010447A CN111010447A CN201911338113.1A CN201911338113A CN111010447A CN 111010447 A CN111010447 A CN 111010447A CN 201911338113 A CN201911338113 A CN 201911338113A CN 111010447 A CN111010447 A CN 111010447A
- Authority
- CN
- China
- Prior art keywords
- webview
- request message
- communication identifier
- communication
- time
- 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
Images
Classifications
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供了一种数据通信方法及装置,客户端中的Webview控件向客户端中的Webview容器发送携带有第一通信标识的第一请求报文。当接收到Webview控件发送的第一请求报文时,Webview容器可以根据第一请求报文,向Webview控件发送携带有第一通信标识的第一响应报文。当接收到Webview容器发送的第一响应报文时,Webview控件可以确定第一请求报文的处理结果,基于上述处理,Webview控件可以确定包括发送第一请求报文的时刻和接收到第一响应报文的时刻的处理结果。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种数据通信方法及装置。
背景技术
Webview(网页浏览)控件是客户端内部嵌入的,可以基于webkit(一个开源的浏览器引擎),展示网页的控件。在实际应用中,Webview控件可以从Webview容器(客户端中除Webview控件以外的部分可以称为Webview容器)获取数据。例如,当接收到访问某一网页的操作指令时,Webview控件可以从Webview容器获取该网页所包含的数据,然后,Webview控件可以根据获取的该网页所包含的数据,在客户端的用户界面中显示该网页。
现有技术中,Webview控件从Webview容器获取数据的过程可以包括以下步骤:Webview控件向Webview容器发送针对需要获取的数据(可以称为目标数据)的请求报文,Webview容器可以对接收到的请求报文进行处理,然后,通过Webview控件的全局回调函数,将携带有目标数据的响应报文发送至Webview控件,进而,Webview控件可以对接收到的响应报文进行解析处理,获取响应报文中携带的目标数据。
然而,当Webview控件向Webview容器发送多个请求报文时,相应的,Webview容器可以向Webview控件返回多个响应报文,Webview控件接收到各响应报文之后,无法确定出各响应报文各自对应的请求报文,进而,无法确定Webview容器针对每一请求报文的处理结果。
发明内容
本发明实施例的目的在于提供一种数据通信方法及装置,能够确定请求报文的处理结果。具体技术方案如下:
在本发明实施的第一方面,提供了一种数据通信方法,所述方法应用于客户端中的网页浏览Webview控件,所述方法包括:
向所述客户端中的Webview容器发送携带有第一通信标识的第一请求报文,其中,所述第一通信标识用于表示所述第一请求报文的唯一性;
当接收到所述Webview容器根据所述第一请求报文发送的,携带有所述第一通信标识的第一响应报文时,确定所述第一请求报文的处理结果,其中,所述处理结果包括发送所述第一请求报文的时刻和接收到所述第一响应报文的时刻。
可选的,在所述向所述客户端中的Webview容器发送携带有第一通信标识的第一请求报文之前,所述方法还包括:
基于发送所述第一请求报文的时刻、所述Webview控件的浏览器指纹和随机字符串,生成所述第一通信标识。
可选的,在所述向所述客户端中的Webview容器发送携带有第一通信标识的第一请求报文之后,所述方法还包括:
将所述第一通信标识存储在未响应队列,其中,所述未响应队列用于记录未接收到对应的响应报文的请求报文的通信标识;
当达到预设检测时刻时,针对所述未响应队列中记录的每一通信标识,计算发送该通信标识对应的请求报文的时刻与当前时刻之间的时长;
如果计算得到的时长大于预设时长,标记该通信标识对应的请求报文处理超时。
可选的,所述方法还包括:
将所述第一请求报文对应的回调函数存储在所述未响应队列,其中,所述第一请求报文对应的回调函数用于处理所述第一请求报文对应的所述第一响应报文;
当接收到所述第一响应报文时,判断所述第一请求报文是否被标记为处理超时;
如果所述第一请求报文未被标记为处理超时,根据所述第一请求报文对应的回调函数对所述第一响应报文进行解析处理。
可选的,在所述计算发送该通信标识对应的请求报文的时刻与当前时刻之间的时长之后,所述方法还包括:
如果计算得到的时长大于预设时长,在所述客户端的用户界面中显示该通信标识对应的请求报文处理超时的提醒消息。
在本发明实施的第二方面,提供了一种数据通信方法,所述方法应用于客户端中的网页浏览Webview容器,所述方法包括:
接收所述客户端中的Webview控件发送的携带有第一通信标识的第一请求报文,其中,所述第一通信标识用于表示所述第一请求报文的唯一性;
向所述Webview控件发送携带有所述第一通信标识的第一响应报文,以使所述Webview控件根据所述第一响应报文确定所述第一请求报文的处理结果,其中,所述处理结果包括所述Webview控件发送所述第一请求报文的时刻和接收到所述第一响应报文的时刻。
在本发明实施的第三方面,还提供了一种数据通信装置,所述装置应用于客户端中的Webview控件,所述装置包括:
发送模块,用于向所述客户端中的Webview容器发送携带有第一通信标识的第一请求报文,其中,所述第一通信标识用于表示所述第一请求报文的唯一性;
确定模块,用于当接收到所述Webview容器根据所述第一请求报文发送的,携带有所述第一通信标识的第一响应报文时,确定所述第一请求报文的处理结果,其中,所述处理结果包括发送所述第一请求报文的时刻和接收到所述第一响应报文的时刻。
可选的,所述装置还包括:
生成模块,用于基于发送所述第一请求报文的时刻、所述Webview控件的浏览器指纹和随机字符串,生成所述第一通信标识。
可选的,所述装置还包括:
处理模块,用于将所述第一通信标识存储在未响应队列,其中,所述未响应队列用于记录未接收到对应的响应报文的请求报文的通信标识;
当达到预设检测时刻时,针对所述未响应队列中记录的每一通信标识,计算发送该通信标识对应的请求报文的时刻与当前时刻之间的时长;
如果计算得到的时长大于预设时长,标记该通信标识对应的请求报文处理超时。
可选的,所述处理模块,还用于将所述第一请求报文对应的回调函数存储在所述未响应队列,其中,所述第一请求报文对应的回调函数用于处理所述第一请求报文对应的所述第一响应报文;
当接收到所述第一响应报文时,判断所述第一请求报文是否被标记为处理超时;
如果所述第一请求报文未被标记为处理超时,根据所述第一请求报文对应的回调函数对所述第一响应报文进行解析处理。
可选的,所述处理模块,还用于如果计算得到的时长大于预设时长,在所述客户端的用户界面中显示该通信标识对应的请求报文处理超时的提醒消息。
在本发明实施的第四方面,还提供了一种数据通信装置,所述装置应用于客户端中的Webview容器,所述装置包括:
接收模块,用于接收所述客户端中的Webview控件发送的携带有第一通信标识的第一请求报文,其中,所述第一通信标识用于表示所述第一请求报文的唯一性;
发送模块,用于向所述Webview控件发送携带有所述第一通信标识的第一响应报文,以使所述Webview控件根据所述第一响应报文确定所述第一请求报文的处理结果,其中,所述处理结果包括所述Webview控件发送所述第一请求报文的时刻和接收到所述第一响应报文的时刻。
在本发明实施的另一方面,本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面所述的数据通信方法的步骤。
在本发明实施的另一方面,本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第二方面所述的数据通信方法的步骤。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的数据通信方法。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第二方面所述的数据通信方法。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的数据通信方法。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面所述的数据通信方法。
本发明实施例提供的一种数据通信方法,Webview控件可以向Webview容器发送携带有第一通信标识的第一请求报文。Webview容器可以根据接收到的第一请求报文,向Webview控件发送携带有第一通信标识的第一响应报文。当接收到Webview容器发送的第一响应报文时,Webview控件可以确定第一请求报文的处理结果。
基于上述处理,Webview控件向Webview容器发送的请求报文中携带有通信标识,Webview容器在接收到该请求报文之后,可以根据该请求报文携带的通信标识,向Webview控件发送携带有相同的通信标识的响应报文,进而,在接收到Webview容器发送的响应报文后,Webview控件可以确定与该响应报文携带有相同通信标识的请求报文,该响应报文为Webview容器响应确定出的请求报文的报文。进而,Webview控件可以确定包括发送确定出的请求报文的时刻和接收到该响应报文的时刻的处理结果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例中提供的一种客户端的架构图;
图2为本发明实施例中提供的一种数据通信方法的流程图;
图3为本发明实施例中提供的一种数据通信方法的流程图;
图4为本发明实施例中提供的一种数据通信方法示例的流程图;
图5为本发明实施例中提供的一种数据通信装置的结构图;
图6为本发明实施例中提供的一种数据通信装置的结构图;
图7为本发明实施例中提供的一种电子设备的结构图;
图8为本发明实施例中提供的一种电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
参见图1,图1为本发明实施例提供的一种客户端的架构图,该客户端包括:Webview控件和Webview容器。
Webview控件可以向Webview容器发送携带有第一通信标识的第一请求报文。当接收到Webview控件发送的第一请求报文时,Webview容器可以根据第一请求报文,向Webview控件发送携带有第一通信标识的第一响应报文。当接收到Webview容器发送的第一响应报文时,Webview控件可以确定包括发送第一请求报文的时刻和接收到第一响应报文的时刻的处理结果。
可见,Webview控件向Webview容器发送的请求报文中携带有通信标识,Webview容器在接收到该请求报文之后,可以根据该请求报文携带的通信标识,向Webview控件发送携带有相同的通信标识的响应报文,进而,在接收到Webview容器发送的响应报文后,Webview控件可以确定与该响应报文携带有相同通信标识的请求报文,该响应报文为Webview容器响应确定出的请求报文的报文。进而,Webview控件可以确定包括发送确定出的请求报文的时刻和接收到该响应报文的时刻的处理结果。
参见图2,图2为本发明实施例提供的一种数据通信方法的流程图,该方法应用于客户端中的Webview控件,该方法可以包括以下步骤:
S201:向客户端中的Webview容器发送携带有第一通信标识的第一请求报文。
其中,第一通信标识用于表示第一请求报文的唯一性。
当用户需要访问某一网页时,用户可以向客户端输入访问该网页的操作指令,客户端接收到该操作指令后,可以通过客户端内部嵌入的Webview控件,从Webview容器获取该操作指令所请求的网页所包含的数据。
在发明实施例中,当Webview控件需要从Webview容器获取数据(可以称为目标数据)时,Webview控件可以生成针对目标数据的请求报文,然后,Webview控件可以生成该请求报文对应的通信标识(即第一通信标识),并添加至该请求报文中,得到第一请求报文,进而,向Webview容器发送第一请求报文。
一种实现方式中,Webview控件在发送第一请求报文之后,还可以将发送第一请求报文的时刻记录在本地。
可选的,在向Webview容器发送第一请求报文之前,Webview控件还可以基于生成第一请求报文的时刻、Webview控件的浏览器指纹和随机字符串,生成第一通信标识。由于生成第一请求报文的时刻和发送第一请求报文的时刻之间间隔的时间很短,因此,生成第一请求报文的时刻与发送第一请求报文的时刻可以相当于同一个时刻。
一种实现方式中,Webview控件可以基于hash(哈希)算法,对发送第一请求报文的时刻、Webview控件的浏览器指纹和随机字符串进行编码,编码得到的hash值即为第一通信标识。
相应的,在接收到Webview控件发送的第一请求报文后,Webview容器可以提取第一请求报文中携带的第一通信标识,并将第一通信标识添加至携带有目标数据的响应报文中,得到第一响应报文,然后,Webview容器可以通过Webview控件的全局回调函数将第一响应报文发送至Webview控件。
S202:当接收到Webview容器根据第一请求报文发送的,携带有第一通信标识的第一响应报文时,确定第一请求报文的处理结果。
其中,第一请求报文的处理结果可以包括Webview控件发送第一请求报文的时刻和接收到第一响应报文的时刻。
Webview控件在接收到Webview容器发送的响应报文时,可以确定与该响应报文携带相同的通信标识的请求报文,确定出的请求报文即为该响应报文对应的请求报文,然后,Webview控件可以确定包括发送确定出的请求报文的时刻和接收到该响应报文的时刻的处理结果。
基于上述处理,Webview控件向Webview容器发送的请求报文中携带有通信标识,Webview容器在接收到该请求报文之后,可以根据该请求报文携带的通信标识,向Webview控件发送携带有相同的通信标识的响应报文,进而,在接收到Webview容器发送的响应报文后,Webview控件可以确定与该响应报文携带有相同通信标识的请求报文,该响应报文为Webview容器响应确定出的请求报文的报文。进而,Webview控件可以确定包括发送确定出的请求报文的时刻和接收到该响应报文的时刻的处理结果。
可选的,Webview控件在向Webview容器发送各请求报文之后,还可以检测各请求报文是否处理超时。
相应的,在步骤S201之后,该方法还可以包括以下步骤:
步骤一,将第一通信标识存储在未响应队列。
其中,未响应队列用于记录未接收到对应的响应报文的请求报文的通信标识。
步骤二,当达到预设检测时刻时,针对未响应队列中记录的每一通信标识,计算发送该通信标识对应的请求报文的时刻与当前时刻之间的时长。
一种实现方式中,针对未响应队列中记录的每一通信标识,Webview控件可以设置该通信标识对应的定时器,当达到该通信标识对应的预设检测时刻时,Webview控件可以计算发送该通信标识对应的请求报文的时刻与当前时刻之间的时长。
示例性的,如果未响应队列中存储有通信标识1、通信标识2,Webview控件可以设置通信标识1对应一个定时器(可以称为定时器1),通信标识2对应一个定时器(可以称为定时器2),当达到定时器1对应的预设检测时刻时,Webview控件可以计算发送通信标识1对应的请求报文的时刻与当前时刻之间的时长;当达到定时器2对应的预设检测时刻时,Webview控件可以计算发送通信标识2对应的请求报文的时刻与当前时刻之间的时长。
另一种实现方式中,为了节省计算资源,针对未响应队列中记录的各通信标识,Webview控件可以设置各通信标识对应一个定时器,当达到该定时器对应的预设检测时刻时,针对未响应队列中记录的每一通信标识,Webview控件可以计算发送该通信标识对应的请求报文的时刻与当前时刻之间的时长。
示例性的,如果未响应队列中存储有通信标识1、通信标识2,Webview控件可以设置未响应队列中记录的各通信标识(即通信标识1、通信标识2)对应一个定时器,当达到该定时器对应的预设检测时刻时,Webview控件可以分别计算发送通信标识1对应的请求报文的时刻与当前时刻之间的时长,以及发送通信标识2对应的请求报文的时刻与当前时刻之间的时长。
步骤三,如果计算得到的时长大于预设时长,标记该通信标识对应的请求报文处理超时。
其中,预设时长可以由技术人员根据经验设置。
一种实现方式中,针对未响应队列中存储的一个通信标识,Webview控件在计算发送该通信标识对应的请求报文的时刻与当前时刻之间的时长之后,可以判断计算得到的时长是否大于预设时长,如果计算得到的时长大于预设时长,Webview控件可以确定该通信标识对应的请求报文处理超时,例如,Webview控件可以在全局回调函数中标记该通信标识对应的请求报文处理超时。
另外,如果Webview控件判定某一通信标识对应的请求报文处理超时,Webview控件还可以在客户端的用户界面中,显示该通信标识对应的请求报文处理超时的提醒消息。
可选的,未响应队列中还可以存储有第一请求报文对应的回调函数,该方法还可以包括以下步骤:
步骤1,将第一请求报文对应的回调函数存储在未响应队列。
其中,第一请求报文对应的回调函数用于处理第一请求报文对应的第一响应报文。
步骤2,当接收到第一响应报文时,判断第一请求报文是否被标记为处理超时。
一种实现方式中,Webview控件在接收到第一响应报文之后,可以确定携带有第一通信标识的请求报文(即第一请求报文)为第一响应报文对应的请求报文,然后,Webview控件可以判断第一请求报文是否被标记为处理超时,进而,根据判定结果进行相应处理。
步骤3,如果第一请求报文未被标记为处理超时,根据第一请求报文对应的回调函数对第一响应报文进行解析处理。
一种实现方式中,Webview控件在接收到第一响应报文之后,如果第一请求报文未被标记为处理超时,则Webview控件可以通过第一请求报文对应的回调函数,提取第一响应报文中携带的目标数据。
另外,在Webview控件根据第一请求报文对应的回调函数对第一响应报文进行解析处理之后,Webview控件还可以将第一通信标识和第一请求报文对应的回调函数从未响应队列中删除。
可选的,如果Webview控件判定某一通信标识对应的请求报文处理超时,Webview控件还可以将该通信标识从未响应队列中移出,并将该通信标识存储至一个新的队列(可以称为已超时队列)中。其中,已超时队列用于记录被标记为处理超时的请求报文对应的通信标识。
在接收到Webview容器发送的响应报文之后,如果该响应报文对应的通信标识存储在已超时队列中,Webview控件可以确定该响应报文对应的请求报文被标记为处理超时,则Webview控件可以不对该响应报文进行解析处理。
一种实现方式中,已超时队列中还可以存储有空回调函数(空回调函数表示不对接收到的响应报文进行解析处理),在接收到Webview容器发送的响应报文之后,如果该响应报文对应的通信标识存储在已超时队列中,则表示该响应报文对应的请求报文被标记为处理超时,Webview控件可以调用已超时队列中存储的空回调函数,不对该响应报文进行解析处理,并将该响应报文对应的通信标识从已超时队列中删除。
另外,Webview控件在接收到Webview容器发送的响应报文之后,还可以生成该响应报文对应的请求报文的处理日志。
如果该响应报文对应的请求报文未被标记为处理超时,Webview控件可以生成记录有发送该响应报文对应的请求报文的时刻,以及接收到该响应报文的时刻的处理日志。
如果该响应报文对应的请求报文被标记为处理超时,Webview控件可以生成记录有发送该响应报文对应的请求报文的时刻、接收到该响应报文的时刻和该响应报文对应的请求报文处理超时的超时标记的处理日志。
参见图3,图3为本发明实施例提供的一种数据通信方法的流程图,该方法应用于客户端中的Webview容器,该方法包括以下步骤:
S301:接收客户端中的Webview控件发送的携带有第一通信标识的第一请求报文。
其中,第一通信标识用于表示第一请求报文的唯一性。
当Webview控件需要从Webview容器获取数据(即目标数据)时,Webview控件可以生成针对目标数据的请求报文。然后,Webview控件可以生成该请求报文对应的通信标识(即第一通信标识),并添加至该请求报文中,得到第一请求报文,并将第一请求报文发送至Webview容器。
S302:向Webview控件发送携带有第一通信标识的第一响应报文,以使Webview控件根据第一响应报文确定第一请求报文的处理结果。
其中,第一请求报文的处理结果包括Webview控件发送第一请求报文的时刻和接收到第一响应报文的时刻。
在接收到Webview控件发送的第一请求报文之后,Webview容器可以提取第一请求报文中携带的第一通信标识,然后,将第一通信标识添加至携带有目标数据的响应报文中,得到第一响应报文,进而,Webview容器可以通过Webview控件的全局回调函数向Webview控件发送第一响应报文。
相应的,Webview控件在接收到第一响应报文之后,可以确定第一请求报文的处理结果,Webview控件确定第一请求报文的处理结果的方法,前述实施例中已有详细介绍,此处不再赘述。
基于上述处理,Webview控件向Webview容器发送的请求报文中携带有通信标识,Webview容器在接收到该请求报文之后,可以根据该请求报文携带的通信标识,向Webview控件发送携带有相同的通信标识的响应报文,进而,在接收到Webview容器发送的响应报文后,Webview控件可以确定与该响应报文携带有相同通信标识的请求报文,该响应报文为Webview容器响应确定出的请求报文的报文。进而,Webview控件可以确定包括发送确定出的请求报文的时刻和接收到该响应报文的时刻的处理结果。
参见图4,图4为本发明实施例提供的一种数据通信方法示例的流程图,包括以下步骤:
S401:Webview控件向Webview容器发送携带有第一通信标识的第一请求报文。
其中,第一通信标识用于表示第一请求报文的唯一性。第一通信标识可以为基于发送第一请求报文的时刻、Webview控件的浏览器指纹和随机字符串生成的。
S402:Webview容器根据第一请求报文向Webview控件发送携带有第一通信标识的第一响应报文。
S403:当接收到Webview容器发送的第一响应报文时,Webview控件根据第一响应报文确定第一请求报文的处理结果。
其中,第一请求报文的处理结果包括Webview控件发送第一请求报文的时刻和接收到第一响应报文的时刻。
与图2的方法实施例相对应,参见图5,图5为本发明实施例提供的一种数据通信装置的结构图,所述装置应用于客户端中的Webview控件,所述装置包括:
发送模块501,用于向所述客户端中的Webview容器发送携带有第一通信标识的第一请求报文,其中,所述第一通信标识用于表示所述第一请求报文的唯一性;
确定模块502,用于当接收到所述Webview容器根据所述第一请求报文发送的,携带有所述第一通信标识的第一响应报文时,确定所述第一请求报文的处理结果,其中,所述处理结果包括发送所述第一请求报文的时刻和接收到所述第一响应报文的时刻。
可选的,所述装置还包括:
生成模块,用于基于发送所述第一请求报文的时刻、所述Webview控件的浏览器指纹和随机字符串,生成所述第一通信标识。
可选的,所述装置还包括:
处理模块,用于将所述第一通信标识存储在未响应队列,其中,所述未响应队列用于记录未接收到对应的响应报文的请求报文的通信标识;
当达到预设检测时刻时,针对所述未响应队列中记录的每一通信标识,计算发送该通信标识对应的请求报文的时刻与当前时刻之间的时长;
如果计算得到的时长大于预设时长,标记该通信标识对应的请求报文处理超时。
可选的,所述处理模块,还用于将所述第一请求报文对应的回调函数存储在所述未响应队列,其中,所述第一请求报文对应的回调函数用于处理所述第一请求报文对应的所述第一响应报文;
当接收到所述第一响应报文时,判断所述第一请求报文是否被标记为处理超时;
如果所述第一请求报文未被标记为处理超时,根据所述第一请求报文对应的回调函数对所述第一响应报文进行解析处理。
可选的,所述处理模块,还用于如果计算得到的时长大于预设时长,在所述客户端的用户界面中显示该通信标识对应的请求报文处理超时的提醒消息。
与图3的方法实施例相对应,参见图6,图6为本发明实施例提供的一种数据通信装置的结构图,所述装置应用于客户端中的Webview容器,所述装置包括:
接收模块601,用于接收所述客户端中的Webview控件发送的携带有第一通信标识的第一请求报文,其中,所述第一通信标识用于表示所述第一请求报文的唯一性;
发送模块602,用于向所述Webview控件发送携带有所述第一通信标识的第一响应报文,以使所述Webview控件根据所述第一响应报文确定所述第一请求报文的处理结果,其中,所述处理结果包括所述Webview控件发送所述第一请求报文的时刻和接收到所述第一响应报文的时刻。
基于上述处理,Webview控件向Webview容器发送的请求报文中携带有通信标识,Webview容器在接收到该请求报文之后,可以根据该请求报文携带的通信标识,向Webview控件发送携带有相同的通信标识的响应报文,进而,在接收到Webview容器发送的响应报文后,Webview控件可以确定与该响应报文携带有相同通信标识的请求报文,该响应报文为Webview容器响应确定出的请求报文的报文。进而,Webview控件可以确定包括发送确定出的请求报文的时刻和接收到该响应报文的时刻的处理结果。
本发明实施例还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:
向所述客户端中的Webview容器发送携带有第一通信标识的第一请求报文,其中,所述第一通信标识用于表示所述第一请求报文的唯一性;
当接收到所述Webview容器根据所述第一请求报文发送的,携带有所述第一通信标识的第一响应报文时,确定所述第一请求报文的处理结果,其中,所述处理结果包括发送所述第一请求报文的时刻和接收到所述第一响应报文的时刻。
本发明实施例还提供了一种电子设备,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,
存储器803,用于存放计算机程序;
处理器801,用于执行存储器803上所存放的程序时,实现如下步骤:
接收所述客户端中的Webview控件发送的携带有第一通信标识的第一请求报文,其中,所述第一通信标识用于表示所述第一请求报文的唯一性;
向所述Webview控件发送携带有所述第一通信标识的第一响应报文,以使所述Webview控件根据所述第一响应报文确定所述第一请求报文的处理结果,其中,所述处理结果包括所述Webview控件发送所述第一请求报文的时刻和接收到所述第一响应报文的时刻。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
基于上述处理,Webview控件向Webview容器发送的请求报文中携带有通信标识,Webview容器在接收到该请求报文之后,可以根据该请求报文携带的通信标识,向Webview控件发送携带有相同的通信标识的响应报文,进而,在接收到Webview容器发送的响应报文后,Webview控件可以确定与该响应报文携带有相同通信标识的请求报文,该响应报文为Webview容器响应确定出的请求报文的报文。进而,Webview控件可以确定包括发送确定出的请求报文的时刻和接收到该响应报文的时刻的处理结果。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中提供的应用于客户端中的Webview控件的数据通信方法的步骤。
具体的,应用于客户端中的Webview控件的数据通信方法,包括如下步骤:
向所述客户端中的Webview容器发送携带有第一通信标识的第一请求报文,其中,所述第一通信标识用于表示所述第一请求报文的唯一性;
当接收到所述Webview容器根据所述第一请求报文发送的,携带有所述第一通信标识的第一响应报文时,确定所述第一请求报文的处理结果,其中,所述处理结果包括发送所述第一请求报文的时刻和接收到所述第一响应报文的时刻。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中提供的应用于客户端中的Webview容器的数据通信方法的步骤。
具体的,应用于客户端中的Webview容器的数据通信方法,包括如下步骤:
接收所述客户端中的Webview控件发送的携带有第一通信标识的第一请求报文,其中,所述第一通信标识用于表示所述第一请求报文的唯一性;
向所述Webview控件发送携带有所述第一通信标识的第一响应报文,以使所述Webview控件根据所述第一响应报文确定所述第一请求报文的处理结果,其中,所述处理结果包括所述Webview控件发送所述第一请求报文的时刻和接收到所述第一响应报文的时刻。
基于上述处理,Webview控件向Webview容器发送的请求报文中携带有通信标识,Webview容器在接收到该请求报文之后,可以根据该请求报文携带的通信标识,向Webview控件发送携带有相同的通信标识的响应报文,进而,在接收到Webview容器发送的响应报文后,Webview控件可以确定与该响应报文携带有相同通信标识的请求报文,该响应报文为Webview容器响应确定出的请求报文的报文。进而,Webview控件可以确定包括发送确定出的请求报文的时刻和接收到该响应报文的时刻的处理结果。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中提供的应用于客户端中的Webview控件的数据通信方法的步骤。
具体的,应用于客户端中的Webview控件的数据通信方法,包括如下步骤:
向所述客户端中的Webview容器发送携带有第一通信标识的第一请求报文,其中,所述第一通信标识用于表示所述第一请求报文的唯一性;
当接收到所述Webview容器根据所述第一请求报文发送的,携带有所述第一通信标识的第一响应报文时,确定所述第一请求报文的处理结果,其中,所述处理结果包括发送所述第一请求报文的时刻和接收到所述第一响应报文的时刻。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中提供的应用于客户端中的Webview容器的数据通信方法的步骤。
具体的,应用于客户端中的Webview容器的数据通信方法,包括如下步骤:
接收所述客户端中的Webview控件发送的携带有第一通信标识的第一请求报文,其中,所述第一通信标识用于表示所述第一请求报文的唯一性;
向所述Webview控件发送携带有所述第一通信标识的第一响应报文,以使所述Webview控件根据所述第一响应报文确定所述第一请求报文的处理结果,其中,所述处理结果包括所述Webview控件发送所述第一请求报文的时刻和接收到所述第一响应报文的时刻。
基于上述处理,Webview控件向Webview容器发送的请求报文中携带有通信标识,Webview容器在接收到该请求报文之后,可以根据该请求报文携带的通信标识,向Webview控件发送携带有相同的通信标识的响应报文,进而,在接收到Webview容器发送的响应报文后,Webview控件可以确定与该响应报文携带有相同通信标识的请求报文,该响应报文为Webview容器响应确定出的请求报文的报文。进而,Webview控件可以确定包括发送确定出的请求报文的时刻和接收到该响应报文的时刻的处理结果。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (12)
1.一种数据通信方法,其特征在于,所述方法应用于客户端中的网页浏览Webview控件,所述方法包括:
向所述客户端中的Webview容器发送携带有第一通信标识的第一请求报文,其中,所述第一通信标识用于表示所述第一请求报文的唯一性;
当接收到所述Webview容器根据所述第一请求报文发送的,携带有所述第一通信标识的第一响应报文时,确定所述第一请求报文的处理结果,其中,所述处理结果包括发送所述第一请求报文的时刻和接收到所述第一响应报文的时刻。
2.根据权利要求1所述的方法,其特征在于,在所述向所述客户端中的Webview容器发送携带有第一通信标识的第一请求报文之前,所述方法还包括:
基于发送所述第一请求报文的时刻、所述Webview控件的浏览器指纹和随机字符串,生成所述第一通信标识。
3.根据权利要求1所述的方法,其特征在于,在所述向所述客户端中的Webview容器发送携带有第一通信标识的第一请求报文之后,所述方法还包括:
将所述第一通信标识存储在未响应队列,其中,所述未响应队列用于记录未接收到对应的响应报文的请求报文的通信标识;
当达到预设检测时刻时,针对所述未响应队列中记录的每一通信标识,计算发送该通信标识对应的请求报文的时刻与当前时刻之间的时长;
如果计算得到的时长大于预设时长,标记该通信标识对应的请求报文处理超时。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
将所述第一请求报文对应的回调函数存储在所述未响应队列,其中,所述第一请求报文对应的回调函数用于处理所述第一请求报文对应的所述第一响应报文;
当接收到所述第一响应报文时,判断所述第一请求报文是否被标记为处理超时;
如果所述第一请求报文未被标记为处理超时,根据所述第一请求报文对应的回调函数对所述第一响应报文进行解析处理。
5.根据权利要求3所述的方法,其特征在于,在所述计算发送该通信标识对应的请求报文的时刻与当前时刻之间的时长之后,所述方法还包括:
如果计算得到的时长大于预设时长,在所述客户端的用户界面中显示该通信标识对应的请求报文处理超时的提醒消息。
6.一种数据通信方法,其特征在于,所述方法应用于客户端中的网页浏览Webview容器,所述方法包括:
接收所述客户端中的Webview控件发送的携带有第一通信标识的第一请求报文,其中,所述第一通信标识用于表示所述第一请求报文的唯一性;
向所述Webview控件发送携带有所述第一通信标识的第一响应报文,以使所述Webview控件根据所述第一响应报文确定所述第一请求报文的处理结果,其中,所述处理结果包括所述Webview控件发送所述第一请求报文的时刻和接收到所述第一响应报文的时刻。
7.一种数据通信装置,其特征在于,所述装置应用于客户端中的Webview控件,所述装置包括:
发送模块,用于向所述客户端中的Webview容器发送携带有第一通信标识的第一请求报文,其中,所述第一通信标识用于表示所述第一请求报文的唯一性;
确定模块,用于当接收到所述Webview容器根据所述第一请求报文发送的,携带有所述第一通信标识的第一响应报文时,确定所述第一请求报文的处理结果,其中,所述处理结果包括发送所述第一请求报文的时刻和接收到所述第一响应报文的时刻。
8.一种数据通信装置,其特征在于,所述装置应用于客户端中的Webview容器,所述装置包括:
接收模块,用于接收所述客户端中的Webview控件发送的携带有第一通信标识的第一请求报文,其中,所述第一通信标识用于表示所述第一请求报文的唯一性;
发送模块,用于向所述Webview控件发送携带有所述第一通信标识的第一响应报文,以使所述Webview控件根据所述第一响应报文确定所述第一请求报文的处理结果,其中,所述处理结果包括所述Webview控件发送所述第一请求报文的时刻和接收到所述第一响应报文的时刻。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求6所述的方法步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求6所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911338113.1A CN111010447A (zh) | 2019-12-23 | 2019-12-23 | 一种数据通信方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911338113.1A CN111010447A (zh) | 2019-12-23 | 2019-12-23 | 一种数据通信方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111010447A true CN111010447A (zh) | 2020-04-14 |
Family
ID=70117590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911338113.1A Pending CN111010447A (zh) | 2019-12-23 | 2019-12-23 | 一种数据通信方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111010447A (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080094206A1 (en) * | 2002-07-09 | 2008-04-24 | Neology, Inc. | System and Method for Providing Secure Identification Solutions |
US20120166586A1 (en) * | 2004-12-08 | 2012-06-28 | B-Obvious Ltd. | Bidirectional data transfer optimization and content control for networks |
CN103636166A (zh) * | 2011-07-06 | 2014-03-12 | 国际商业机器公司 | 与请求-答复消息排队环境关联的动态数据保护策略 |
CN103955507A (zh) * | 2014-04-25 | 2014-07-30 | 中国联合网络通信集团有限公司 | 基于用户感知的预警方法及装置 |
US20160173486A1 (en) * | 2014-12-12 | 2016-06-16 | Medidata Solutions, Inc. | Method and system for automating submission of issue reports |
CN106130827A (zh) * | 2016-08-30 | 2016-11-16 | 杭州迪普科技有限公司 | 网络设备可达性的检测方法和装置 |
CN106790130A (zh) * | 2016-12-27 | 2017-05-31 | 中国建设银行股份有限公司 | 一种报文匹配方法及装置 |
CN107547619A (zh) * | 2017-06-19 | 2018-01-05 | 新华三技术有限公司 | 一种定时器参数协商方法和装置 |
CN108880765A (zh) * | 2017-05-10 | 2018-11-23 | 中兴通讯股份有限公司 | 载波授权方法和装置 |
CN109768918A (zh) * | 2019-01-16 | 2019-05-17 | 北京众纳鑫海网络技术有限公司 | 用于实现即时消息通信的方法和装置 |
CN109815256A (zh) * | 2018-12-21 | 2019-05-28 | 聚好看科技股份有限公司 | 一种数据处理方法、装置、电子设备和存储介质 |
CN109862443A (zh) * | 2019-03-15 | 2019-06-07 | 四川长虹电器股份有限公司 | 一种优化电视机网络设置的方案 |
CN110099078A (zh) * | 2018-01-29 | 2019-08-06 | 阿里巴巴集团控股有限公司 | 设备间通信、消息同步方法、装置、设备和存储介质 |
CN110198328A (zh) * | 2018-03-05 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 客户端识别方法、装置、计算机设备和存储介质 |
-
2019
- 2019-12-23 CN CN201911338113.1A patent/CN111010447A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080094206A1 (en) * | 2002-07-09 | 2008-04-24 | Neology, Inc. | System and Method for Providing Secure Identification Solutions |
US20120166586A1 (en) * | 2004-12-08 | 2012-06-28 | B-Obvious Ltd. | Bidirectional data transfer optimization and content control for networks |
CN103636166A (zh) * | 2011-07-06 | 2014-03-12 | 国际商业机器公司 | 与请求-答复消息排队环境关联的动态数据保护策略 |
CN103955507A (zh) * | 2014-04-25 | 2014-07-30 | 中国联合网络通信集团有限公司 | 基于用户感知的预警方法及装置 |
US20160173486A1 (en) * | 2014-12-12 | 2016-06-16 | Medidata Solutions, Inc. | Method and system for automating submission of issue reports |
CN106130827A (zh) * | 2016-08-30 | 2016-11-16 | 杭州迪普科技有限公司 | 网络设备可达性的检测方法和装置 |
CN106790130A (zh) * | 2016-12-27 | 2017-05-31 | 中国建设银行股份有限公司 | 一种报文匹配方法及装置 |
CN108880765A (zh) * | 2017-05-10 | 2018-11-23 | 中兴通讯股份有限公司 | 载波授权方法和装置 |
CN107547619A (zh) * | 2017-06-19 | 2018-01-05 | 新华三技术有限公司 | 一种定时器参数协商方法和装置 |
CN110099078A (zh) * | 2018-01-29 | 2019-08-06 | 阿里巴巴集团控股有限公司 | 设备间通信、消息同步方法、装置、设备和存储介质 |
CN110198328A (zh) * | 2018-03-05 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 客户端识别方法、装置、计算机设备和存储介质 |
CN109815256A (zh) * | 2018-12-21 | 2019-05-28 | 聚好看科技股份有限公司 | 一种数据处理方法、装置、电子设备和存储介质 |
CN109768918A (zh) * | 2019-01-16 | 2019-05-17 | 北京众纳鑫海网络技术有限公司 | 用于实现即时消息通信的方法和装置 |
CN109862443A (zh) * | 2019-03-15 | 2019-06-07 | 四川长虹电器股份有限公司 | 一种优化电视机网络设置的方案 |
Non-Patent Citations (2)
Title |
---|
张伟: "基于Hash存储的高效DNS缓存***", 《计算机工程与设计》 * |
方涛,樊越甫: "《智能变电站继电保护技术应用研究》", 30 June 2019 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109889547B (zh) | 一种异常网络设备的检测方法及装置 | |
CN113489713B (zh) | 网络攻击的检测方法、装置、设备及存储介质 | |
CN109194671B (zh) | 一种异常访问行为的识别方法及服务器 | |
CN104601601B (zh) | 网络爬虫的检测方法及装置 | |
CN109213604B (zh) | 一种数据源的管理方法和装置 | |
CN110888838B (zh) | 基于对象存储的请求处理方法、装置、设备及存储介质 | |
US11012339B2 (en) | Web site reachability management for content browsing | |
CN111416811A (zh) | 越权漏洞检测方法、***、设备及存储介质 | |
CN109450969B (zh) | 从第三方数据源服务器中获取数据的方法、装置和服务器 | |
CN109067794B (zh) | 一种网络行为的检测方法和装置 | |
CN113518077A (zh) | 一种恶意网络爬虫检测方法、装置、设备及存储介质 | |
CN105959294B (zh) | 一种恶意域名鉴别方法及装置 | |
CN107103243B (zh) | 漏洞的检测方法及装置 | |
CN110430070B (zh) | 一种服务状态分析方法、装置、服务器、数据分析设备及介质 | |
CN109600254B (zh) | 全链路日志的生成方法及相关*** | |
CN110768865B (zh) | 一种深度报文检测引擎激活方法、装置及电子设备 | |
CN110309028B (zh) | 监控信息获取方法、服务监控方法、装置及*** | |
CN111241547B (zh) | 一种越权漏洞的检测方法、装置及*** | |
CN106611118B (zh) | 申请登录凭证的方法和装置 | |
CN108390770B (zh) | 一种信息生成方法、装置及服务器 | |
CN111010447A (zh) | 一种数据通信方法及装置 | |
CN112866265B (zh) | 一种csrf攻击防护方法及装置 | |
CN115051867A (zh) | 一种非法外联行为的检测方法、装置、电子设备及介质 | |
CN111651356A (zh) | 一种应用程序测试方法、装置及*** | |
CN108920589B (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: 20200414 |