CN109739662A - 通信方法及装置 - Google Patents
通信方法及装置 Download PDFInfo
- Publication number
- CN109739662A CN109739662A CN201811641268.8A CN201811641268A CN109739662A CN 109739662 A CN109739662 A CN 109739662A CN 201811641268 A CN201811641268 A CN 201811641268A CN 109739662 A CN109739662 A CN 109739662A
- Authority
- CN
- China
- Prior art keywords
- message
- virtual
- network request
- webpage
- address
- 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
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本公开提供一种通信方法及装置,其中,所述方法包括:第一对象通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息;所述第二对象获取所述第一消息,并根据所述第一消息生成第二消息;所述第二对象将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息;所述第一对象从所述剪切板中识别并解析所述第三消息,获得所述第二消息;其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。采用本公开提供的通信方法,可以实现通过网页来触发操作系统执行更多类型的操作,增强了网页和操作系统的功能,有效提升了终端的用户体验。
Description
技术领域
本公开涉及电子技术领域,尤其涉及一种通信方法及装置。
背景技术
随着电子技术和触摸屏技术的发展,各式各样的终端得到了广泛的应用,相应的终端上的应用程序的种类越来越多、功能越来越丰富。比如,浏览器即是一种常用的应用程序。
用户可以通过浏览器浏览各网页,某些情况下(比如,网页可以通过调用系统的某系统应用来实现某功能),网页可以与操作系统进行通信。目前,网页可以通过调用浏览器中设置的API接口(Application Programming Interface,应用程序编程接口),实现与操作系统的通信。
在实现本公开的过程中,发明人发现至少存在以下问题:
基于上述网页与操作系统进行通信的处理方式,如果用户使用的浏览器中没有设置相应的API接口,网页即无法与操作系统进行通信,从而,导致网页与操作系统通信失败。
发明内容
有鉴于此,本公开提供一种通信方法及装置,可以克服相关技术中存在的网页和操作系统通信失败的问题。
根据本公开实施例的第一方面,提供了一种通信方法,所述方法包括:
第一对象通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息;
所述第二对象获取所述第一消息,并根据所述第一消息生成第二消息;
所述第二对象将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息;
所述第一对象从所述剪切板中识别并解析所述第三消息,获得所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
根据本公开实施例的第二方面,提供了一种通信方法,应用于第一对象中,所述方法包括:
通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息,以使所述第二对象根据所述第一消息生成第二消息,并将所述第二消息转换为预设格式的第三消息发送给剪切板;
查询所述剪切板中的消息,从所述剪切板中识别所述预设格式的第三消息;
将识别出的所述第三消息解析为所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
根据本公开实施例的第三方面,提供了一种通信方法,应用于第二对象中,所述方法包括:
获取第一对象通过与所述第二对象之间的虚拟网络连接发送的第一消息;
根据所述第一消息生成第二消息;
将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息,以使所述第一对象通过所述剪切板获取所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
根据本公开实施例的第四方面,提供了一种通信装置,所述装置包括:
第一消息发送模块,被配置为由第一对象通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息;
第二消息生成模块,被配置为由所述第二对象获取所述第一消息,并根据所述第一消息生成第二消息;
第三消息发送模块,被配置为由所述第二对象将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息;
消息解析模块,被配置为由所述第一对象从所述剪切板中识别并解析所述第三消息,获得所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
根据本公开实施例的第五方面,提供了一种通信装置,设置于第一对象中,所述装置包括:
消息发送模块,被配置为通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息,以使所述第二对象根据所述第一消息生成第二消息,并将所述第二消息转换为预设格式的第三消息发送给剪切板;
消息识别模块,被配置为查询所述剪切板中的消息,从所述剪切板中识别所述预设格式的第三消息;
消息解析模块,被配置为将识别出的所述第三消息解析为所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
根据本公开实施例的第六方面,提供了一种通信装置,设置于第二对象中,所述装置包括:
第一消息获取模块,被配置为获取第一对象通过与所述第二对象之间的虚拟网络连接发送的第一消息;
第二消息生成模块,被配置为根据所述第一消息生成第二消息;
第三消息发送模块,被配置为将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息,以使所述第一对象通过所述剪切板获取所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
根据本公开实施例的第七方面,提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时上述第二方面所述方法的步骤。
根据本公开实施例的第八方面,提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述第三方面所述方法的步骤。
根据本公开实施例的第九方面,提供了一种通信装置,包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;
其中,所述处理器执行所述程序时实现如下方法:
第一对象通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息;
所述第二对象获取所述第一消息,并根据所述第一消息生成第二消息;
所述第二对象将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息;
所述第一对象从所述剪切板中识别并解析所述第三消息,获得所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
本公开实施例提供的技术方案可以包括以下有益效果:
本公开提供的通信方法中,用于呈现网页的网页客户端比如浏览器,或其他网络代理服务程序如米聊、微信等,无需增设API接口(Application Programming Interface,应用程序编程接口),就可以将网页请求消息承载于虚拟网络请求中,顺利传输给操作系统,使得操作系统可以从上述虚拟网络请求中提取出网页请求消息并进行响应,如执行关机、重启、启动计时器等命令;即可以通过目标网络请求作为承载网页请求消息的载体,从而指示操作系统提供预设服务,进而获得目标响应消息;并将生成的响应消息转换成虚拟剪贴板信息,使得网页客户端获取并解析上述预设格式的剪贴板信息,并将解析出的目标响应消息反馈给网页。实现通过网页来触发操作系统执行更多类型的操作,增强了网页和操作系统的功能,有效提升了终端的用户体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开根据一示例性实施例示出的一种通信方法的流程图;
图2是本公开根据一示例性实施例示出的另一种通信方法的流程图;
图3是本公开根据一示例性实施例示出的另一种通信方法的流程图;
图4是本公开根据一示例性实施例示出的另一种通信方法的流程图;
图5是本公开根据一示例性实施例示出的另一种通信方法的流程图;
图6是本公开根据一示例性实施例示出的另一种通信方法的流程图;
图7是本公开根据一示例性实施例示出的另一种通信方法的流程图;
图8是本公开根据一示例性实施例示出的另一种通信方法的流程图;
图9是本公开根据一示例性实施例示出的另一种通信方法的流程图;
图10是本公开根据一示例性实施例示出的另一种通信方法的流程图;
图11是本公开根据一示例性实施例示出的另一种通信方法的流程图;
图12是本公开根据一示例性实施例示出的一种通信装置框图;
图13是本公开根据一示例性实施例示出的另一种通信装置框图;
图14是本公开根据一示例性实施例示出的另一种通信装置框图;
图15-1是本公开根据一示例性实施例示出的另一种通信装置框图;
图15-2是本公开根据一示例性实施例示出的另一种通信装置框图;
图16是本公开根据一示例性实施例示出的另一种通信装置框图;
图17是本公开根据一示例性实施例示出的另一种通信装置框图;
图18是本公开根据一示例性实施例示出的另一种通信装置框图;
图19是本公开根据一示例性实施例示出的另一种通信装置框图;
图20是本公开根据一示例性实施例示出的另一种通信装置框图;
图21-1是本公开根据一示例性实施例示出的另一种通信装置框图;
图21-2是本公开根据一示例性实施例示出的另一种通信装置框图;
图21-3是本公开根据一示例性实施例示出的另一种通信装置框图;
图22是本公开根据一示例性实施例示出的另一种通信装置框图;
图23-1是本公开根据一示例性实施例示出的另一种通信装置框图;
图23-2是本公开根据一示例性实施例示出的另一种通信装置框图;
图23-3是本公开根据一示例性实施例示出的另一种通信装置框图;
图24是本公开根据一示例性实施例示出的另一种通信装置框图;
图25是本公开根据一示例性实施例示出的一种通信装置框图;
图26是本公开根据一示例性实施例示出的另一种通信装置框图;
图27是本公开根据一示例性实施例示出的另一种通信装置框图;
图28是本公开根据一示例性实施例示出的一种通信装置框图;
图29是本公开根据一示例性实施例示出的另一种通信装置框图;
图30是本公开根据一示例性实施例示出的另一种通信装置框图;
图31是本公开根据一示例性实施例示出的另一种通信装置框图;
图32是本公开根据一示例性实施例示出的另一种通信装置框图;
图33是本公开根据一示例性实施例示出的另一种通信装置框图;
图34是本公开根据一示例性实施例示出的通信装置的一结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本公开提供了一种通信方法,该方法可以用于终端中,该终端中安装有具备网页Web显示功能的应用程序APP,可以称为网页客户端。
上述终端可以为智能手机、口袋计算机(Pocket Personal Computer,PPC)、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)、笔记本电脑、平板电脑、可穿戴设备、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、电子书阅读器或者车载设备等。
其中,上述网页客户端可以是浏览器或设有浏览器内核的网络代理服务程序;上述网络代理服务程序比如是米聊、微信、QQ等即时通信应用或其他可以请求接入网络的应用。
首先介绍本公开的相关技术背景:操作系统是架构在终端硬件上的第一层软件,利用操作系统才能实现应用程序对系统硬件的访问。任何操作系统都会向上层提供接口,应用程序通过操作系统提供的程序接口访问系统资源。程序接口是由一组系统调用命令组成。系统调用是操作系统提供给应用程序访问系统资源唯一的接口,其作用是把应用程序的请求传递给系统内核,系统内核调用相应的内核函数完成所需的处理,最终将处理结果返回给所述应用程序。
相关技术中,操作系统为了保护系统资源不被外界破坏,开放给应用程序的系统调用接口数量有限,使得应用程序可以取得的操作系统内核服务有限。
对于网页客户端这种应用程序,预设通信协议允许操作系统把有限种类的系统调用接口开放给网页客户端。也就是说,网页客户端通过有限种类的系统调用接口取得操作系统内核提供的服务。相应的,通过上述有限种类的系统调用接口,操作系统可以从网页接收到消息类型有限,例如可以包括:网络请求、剪贴板信息、图片格式文件、音频格式文件等,从而使得网页功能有限,比如通过触发网页脚本可以打开其它网页链接、复制粘贴信息、显示图片、播放音频/视频等有限功能。
基于此,本公开提供的通信方法,旨在不改变操作系统与网页客户端之间的系统调用接口的情况下,可以使网页和操作系统之间传递更多类型的消息,从而使网页获取更多的、操作系统内核提供的服务,丰富网页功能。
参照图1根据一示例性实施例示出的一种通信方法的流程图,该方法可以包括以下步骤:
在步骤11中,第一对象通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。当第一对象是网页时,第二对象为操作系统;当第一对象是操作系统时,第二对象是网页。
上述第一消息属于第一对象与第二对象之间的系统调用接口能识别的、预设类型的消息。本公开实施例中,上述第一消息属于虚拟网络请求。
在本公开实施例中,用户在使用终端的过程中,可以通过浏览器等网页客户端浏览各网页。在终端显示网页的过程中,网页和操作系统可以进行通信。具体的,当第一对象接收到向第二对象发送消息的指令时,可以获取与第二对象进行通信的目标消息。当所述目标消息不属于第一对象与第二对象之间的预设系统调用接口能识别的消息类型时,可以将目标消息编辑为第二对象能识别的、符合网络请求格式的第一消息。
例如,第一对象为网页,第二对象为操作系统,技术人员在设计网页时,可以在该网页中插入预设脚本,该预设脚本在网页中可以显示为预设按钮。示例性的,当网页客户端检测到上述预设按钮的预设触发事件如点击事件时,生成第一消息。
其中,上述虚拟网络连接是终端基于相关通信协议如TCP/IP协议,在显示所述网页的网页客户端与本地的预设虚拟服务器之间建立的。
关于虚拟网络连接的建立时机,可以是第一对象在向第二对象发送目标消息之前,终端在网页客户端与虚拟服务器之间预先建立好的;也可以是第一对象准备向第二对象发送目标消息时,实时触发建立的。
在步骤12中,所述第二对象获取所述第一消息,并根据所述第一消息生成第二消息;
本公开中,第二对象按照预置规则从接收到的网络请求中识别出上述第一消息,并从该第一消息中提取出上述目标消息,并对目标消息进行处理,比如打开一个系统应用如计时器、开启摄像头或者打开终端中安装的其它应用程序等,根据处理结果生成第二消息。
在步骤13中,所述第二对象将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息;
当第二对象确定第二消息不属于预设系统调用接口能传输的消息类型时,将上述第二消息转换成预设格式的第三消息,并通过预设系统调用接口向剪贴板发送上述第三消息。
在步骤14中,所述第一对象从所述剪切板中识别并解析所述第三消息,获得所述第二消息。
本公开中,第一对象可以查询剪切板中的消息,对上述剪切板中的消息进行识别,若当前消息属于预设格式的第三消息,按照预置规则解析该第三消息,获得第二消息。
根据上述第一对象与第二对象的不同,本公开提供的通信方法至少可以应用于以下四个场景中:
应用场景一,第一对象为网页、第二对象为操作系统;第一消息属于虚拟网络请求;第三消息属于虚拟剪切板消息;
上述通信方法的实施过程为:网页基于虚拟网络连接向操作系统发送目标网络请求,该目标网络请求携带网页请求消息;操作系统基于上述目标网络请求获取上述网页请求消息并响应,获得目标响应消息;操作系统将所述目标响应消息转换为虚拟剪切板消息,发送给剪切板;网页从剪切板中获取上述虚拟剪切板消息并解析为上述目标响应消息。
应用场景二,第一对象为操作系统、第二对象为网页;第一消息属于虚拟网络请求;第三消息属于虚拟剪切板消息;
上述通信方法的实施过程为:操作系统基于虚拟网络连接,向网页发送目标网络请求,该目标网络请求中携带有操作系统发出的目标消息,比如,系统通知消息;网页基于上述目标网络请求获取上述目标消息并响应,获得目标响应消息;网页将所述目标响应消息转换为预设格式的消息即虚拟剪切板消息,发送给剪切板;操作系统从剪切板中监听到上述虚拟剪切板消息并解析为上述目标响应消息。
应用场景三,第一对象为网页、第二对象为操作系统;第一消息属于虚拟剪切板消息;第三消息属于虚拟网络请求;
上述通信方法的实施过程为:网页将准备发送给操作系统的网页请求消息,转换为虚拟剪切板消息,发送给剪切板;操作系统从剪切板中识别出上述虚拟剪切板消息并解析出网页请求消息进行处理,获得目标响应消息;操作系统将所述目标响应消息转换为目标网络请求,该目标网络请求为携带有所述目标响应消息的虚拟网络请求;通过虚拟网络连接将所述目标网络请求发送给网页,以使网页识别并解析所述目标网络请求,获得所述网页请求消息对应的目标响应消息。
应用场景四,第一对象为操作系统、第二对象为网页;第一消息属于虚拟剪切板消息;第三消息属于虚拟网络请求;
上述通信方法的实施过程为:操作系统将准备发送给网页的目标消息转换为第一消息,发送给剪切板;所述第一消息属于网页能识别的虚拟剪切板消息。网页从剪切板中识别并解析所述第一消息,获得所述目标消息;根据所述目标消息生成对应的目标响应消息,并将所述目标响应消息转换为目标网络请求,通过虚拟网络连接将所述目标网络请求发送给网页,以使网页解析所述目标网络请求,获得所述目标响应消息。
基于上述各应用场景,本公开提供的通信方法总的发明构思在于:网页和操作系统之间传输的消息分别以虚拟网络请求、虚拟剪切板消息的方法进行传输。
下面以上述第一应用场景为例,对本公开提供的通信方法进行详细说明。
参照图2根据一示例性实施例示出的一种通信方法的流程图,上述步骤11~步骤14可以具体为步骤11-1~步骤14-1。
本公开中,在网页和操作系统基于虚拟网络连接传输第一消息的过程中,关键步骤在于如何建立虚拟网络连接。
基于此,在上述步骤11-1之前,所述方法还可以包括:
在步骤10中,在网页客户端与预设虚拟服务器之间建立虚拟网络连接,所述网页客户端用于显示所述网页;
本公开实施例中,上述网页与操作系统之间的虚拟网络连接,在业务层面是指网页客户端与终端本地预设的虚拟服务器之间的虚拟网络连接。
根据TCP(Transmission Control Protocol,传输控制协议)的规定,网页要想向外发送网络请求,首先需要网页客户端与网络服务器之间建立可靠的网络连接;之后,网页基于上述网络连接经操作系统向外发送网络请求。
在上述应用场景一中,步骤11-1的主要目的是:操作系统可以监听到来自网页的目标网络请求,不考虑网络请求的接收方是否向返回依据上述网络请求获取的信息。因此,可以在终端本地预设一个虚拟服务器,使网页客户端可以与该虚拟服务器建立虚拟网络连接。
在本公开一实施例中,触发网页客户端与虚拟服务器之间建立虚拟网络连接的条件可以是:网页中设置的预设脚本被触发。
本公开中,网页设计人员在设计网页时可以设计一种脚本,当该网页在网页客户端中显示时,该预设脚本可以显示为一个预设按钮,当终端检测到上述预设按钮的预设触发事件如点击事件时,可以首先触发网页客户端向操作系统发送请求建立虚拟网络连接的网络请求,该网络请求携带有虚拟服务器的地址信息,并在虚拟网络连接建立后,向操作系统发送上述第一消息。
下面以网页客户端是浏览器、虚拟服务器为设置于本地的虚拟HTTP(HyperTextTransfer Protocol,超文本传输协议)服务器为例,对本公开提供的通信方法进行详细说明。
本公开实施例中,上述步骤10为在网页客户端与虚拟HTTP服务器之间建立虚拟TCP连接,具体实施过程可以包括以下三种情况:
第一种情况,参照图3根据一示例性实施例示出的另一种通信方法的流程图,上述步骤10可以包括以下步骤:
在步骤10-1中,根据网络请求获取虚拟HTTP服务器的地址;
根据TCP协议规定,浏览器向正常的Web服务器发送HTTP请求之前,需要首先通过三次握手建立稳定的TCP连接。在TCP连接建立成功后,向远程的Web服务器发送HTTP请求。
本公开实施例中,通过在网页客户端与终端中预先设置的本地HTTP服务器,建立虚拟TCP连接,以使浏览器后续可以经由操作系统向虚拟HTTP服务器发送HTTP请求,从而使操作系统中的预设监听服务可以获取到上述HTTP请求。
在建立虚拟TCP连接过程中,可以采用以下至少一种方式根据网络请求获取虚拟HTTP的服务地址:
方式一,针对浏览器发送的网络请求中未直接包含虚拟HTTP服务器的地址的情况:
参照图4根据一示例性实施例示出的另一种通信的流程图,上述步骤10-1可以包括:
在步骤10-11中,获取网络请求中的虚拟域名;
参见图5根据一示例性实施例示出的另一种通信方法的流程图,上述步骤10-11可以包括:
在步骤1001中,获取HTTP地址中的域名信息;
示例性的,当用户在浏览器的某一页面中点击某一网络链接,假设该网络链接地址即HTTP地址为:Http://abc.com/efg****。浏览器首先获取上述HTTP地址中的域名信息,即:abc.com,并将该域名信息“abc.com”发送给终端的DNS(Domain Name System,域名系统)模块。
在步骤1002中,根据所述域名信息查询预设虚拟域名白名单;
本公开实施例中,终端中可以预设有一个虚拟域名白名单,该白名单记录了所有的虚拟域名信息。DNS模块可以利用上述虚拟域名白名单判断浏览器发送的域名是否为虚拟域名。
在步骤1003中,若所述预设虚拟域名白名单中包括所述域名信息,确定所述域名信息属于虚拟域名。
若DNS模块从上述虚拟域名白名单中查找到abc.com,则确定域名“abc.com”属于虚拟域名。即该域名指向的Web服务器是不存在的。
在步骤10-12中,根据所述虚拟域名解析对应的虚拟HTTP服务器的地址。
本公开实施例中,DNS模块中可以预置有预设地址解析列表,该预设地址解析列表包括:虚拟HTTP服务器的地址与虚拟域名之间的对应关系。示例性的,如表一所示:
表一
DNS模块可以根据虚拟域名:abc.com查询上述表一,确定对应的虚拟HTTP服务器的地址为:127.0.0.1;进而将该地址返回给浏览器,以使浏览器将该地址作为目的端地址发送握手数据包。
在步骤10-2中,获取握手数据包,所述握手数据包中包括所述虚拟HTTP服务器的地址;
如上示例,浏览器获取到abc.com对应的虚拟HTTP服务器的地址:(127.0.0.1)之后,利用该HTTP服务器的地址向外发送TCP握手数据包。上述TCP握手数据包中包含有(127.0.0.1)。
在步骤10-3中,通过所述握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
本地虚拟HTTP服务器接收到握手数据包之后,向浏览器返回响应消息(response),至此,完成一次握手过程。
在TCP/IP协议中,TCP协议要求通过三次握手提供可靠的连接服务。后序两次握手过程重复执行上述步骤101~步骤103,三次握手成功之后,成功建立虚拟TCP连接。
第二种情况,参见图6根据一示例性实施例示出的另一种通信方法的流程图,上述步骤10可以包括:
在步骤10-4中,获取网络请求中的虚拟域名;
该步骤的具体实施方式与上述步骤10-11类似,此处不再赘述。
在步骤10-5中,将所述虚拟域名解析为对应的虚拟IP地址;
DNS模块在确定域名“abc.com”属于虚拟域名之后,可以根据预置的虚拟IP地址列表,输出一个虚拟IP地址,并将该虚拟IP地址发送给浏览器。其中,上述虚拟IP地址列表包括:虚拟域名与虚拟IP地址的对应关系,示例性的,如表二所示:
虚拟域名 | 虚拟IP地址 |
abc.com | (1.2.3.4) |
表二
DNS模块根据域名“abc.com”查询表二,输出对应的虚拟IP地址(1.2.3.4)。
在步骤10-6中,获取TCP握手数据包,所述TCP握手数据包中包括所述虚拟IP地址;
浏览器获取到abc.com对应的虚拟IP地址之后,假设该虚拟IP地址为:(1.2.3.4),利用该虚拟IP地址向外发送TCP握手数据包。上述TCP握手数据包中包含有虚拟IP地址(1.2.3.4)。
根据相关知识,操作系统作为上层应用软件向远程伺服端发送消息的桥梁,可以获取各应用发送的消息。因此,浏览器发送的TCP握手数据包经过操作系统时,可以被操作系统中预置的监听组件比如防火墙组件获取到。
在步骤10-7中,将所述TCP握手数据包中的虚拟IP地址修改为所述本地HTTP服务器的地址,获得更新握手数据包;
仍以操作系统中的监听组件是防火墙为例,本公开实施例中,终端中预存有虚拟IP地址与本地虚拟HTTP服务器的地址之间的对应关系,示例性的如表三所示:
虚拟IP地址 | 虚拟HTTP服务器的地址 |
(1.2.3.4) | (127.0.0.1) |
表三
防火墙在获取到浏览器发送的原始TCP握手数据包之后,可以查询上述表三,将原始TCP握手数据包中的虚拟IP地址即(1.2.3.4)修改成本地虚拟HTTP服务器的地址即(127.0.0.1),然后将修改后的TCP握手数据包,即更新握手数据包,发送给虚拟HTTP服务器。
在步骤10-8中,通过所述更新握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
本地虚拟HTTP服务器接收到更新握手数据包之后,向浏览器返回响应消息(response),至此,完成一次握手过程。
在TCP/IP协议中,TCP协议要求通过三次握手提供可靠的连接服务。后序两次握手过程重复执行上述步骤10-4~步骤10-8,三次握手成功之后,成功建立虚拟TCP连接。
方式二,浏览器发送的网络请求如URL中直接包含有虚拟HTTP服务器的地址,比如:Http://127.0.0.1/efg****,可以从该网络请求中提取本地预设虚拟HTTP服务器的地址(127.0.0.1),然后发送握手数据包。
此种方式下,握手数据包中包括预设虚拟HTTP服务器的地址:127.0.0.1,因此,上述握手数据包无需经过DNS模块进行域名解析;经过防火墙时,也不需要做任何信息处理,即可发送给本地预设虚拟HTTP服务器。即在浏览器与虚拟HTTP服务器建立虚拟TCP连接的过程中,无需对握手数据包做任何处理。相对于方式一中的两种情况,可以加快虚拟网络连接的创建进度,进而减少消息传输时延。
在步骤11-1中,网页通过与操作系统之间的所述虚拟网络连接,向操作系统发送目标网络请求;
从操作系统角度而言,该步骤11-1为:基于上述虚拟网络连接,获取所述网页发送的目标网络请求,该目标网络请求携带有网页请求消息;
从网页角度而言,上述步骤11-1为:基于上述虚拟网络连接,向操作系统发送目标网络请求。
本公开实施例中,上述目标网络请求包括:预设特征信息和网页请求消息。其中,该网页请求消息用于请求操作系统提供目标服务,上述目标服务与操作系统通过预设系统调用接口提供的预设服务不同。其中,上述预设服务可以是打开指定音频文件、视频文件、显示图片、向剪贴板发送消息等;相应的,上述目标服务可以是打开某一应用的应用界面、执行系统层面的操作如开/关机、重启终端、打开闹钟、开启拍摄部件等操作。
其中,上述预设特征信息用于标记该网络请求属于虚拟网络请求,可以是预设关键字或预设编码方式等信息。上述预设特征信息可以是浏览器供应商提供,并预置在终端中。
本公开实施例中,目标网络请求可以是通过虚拟TCP连接获取的、经由操作系统的目标HTTP请求。该目标HTTP请求的消息载体可以是URL(UniformResource Locator,统一资源定位符)。
在步骤12-1中,操作系统获取所述目标网络请求,并根据所述目标网络请求生成第二消息;
参见图7根据一示例性实施例示出的另一种通信方法的流程图,上述步骤12-1可以包括:
在步骤12-11中,获取目标网络请求;
参见图8根据一示例性实施例示出的另一种通信方法的流程图,上述步骤12-11中获取目标网络请求,可以包括:
在步骤12-111中,获取经由操作系统的网络请求;
如上示例,浏览器和网络服务器之间一旦建立了TCP连接,浏览器就会发送网络请求,比如向域名为“abc.com”的虚拟web服务器发送HTTP请求。该HTTP请求经过操作系统时,就可以被设置于操作系统中的监听组件比如防火墙监听到。
在步骤12-112中,确定所述网络请求中是否包括预设特征信息;
浏览器可以向外发送各种HTTP请求,按照请求方法不同,上述HTTP请求可以是:GET、POST、HEAD、OPTIONS、PUT、DELETE、TARCE等请求。以GET请求数据包为例,上述请求数据中可能包含上述网页请求消息,也可能不包含上述网页请求消息。因此,防火墙组件需要根据预设策略初步判断当前获取的数据包中是否包括上述网页请求消息。
本公开实施例中,防火墙组件可以通过判断请求数据包是否包括预设特征信息来确定目标网络请求。其中,上述预设特征信息用于标记该HTTP请求中包含网页请求消息,可以是预设关键字或预设编码方式等信息。上述预设特征信息可以是网页客户端供应商提供,并预置在终端中。
假设上述预设特征信息为预设关键字,上述关键字可以是预设标记符、预设字符串如“111”等,则防火墙在获取到HTTP请求后,判断该请求中是否包括上述预设关键字;如果包括,执行步骤12-113;反之,如果当前请求中不包括上述预设关键字,则确定该HTTP请求属于无效消息。
在步骤12-113中,若所述网络请求中包括预设特征信息,确定所述网络请求为目标网络请求。
如上示例,若HTTP请求中包括预设特征信息,确定该HTTP请求属于目标HTTP请求。
在步骤12-12中,从所述目标网络请求中解析所述网页请求消息;
参见图9根据一示例性实施例示出的另一种通信方法的流程图,上述步骤12-12可以包括:
在步骤12-121中,将所述目标网络请求发送给预设消息Message服务;
本公开实施例中,操作系统的监听组件在识别出目标网络请求后,可以将上述目标网络请求数据包的解析交由预设的消息Message服务处理,将目标网络请求的识别过程和解析过程解耦,即监听组件只识别目标网络请求,不对目标网络请求的数据包进行解析,从而提高目标网络请求的检测效率。
本公开实施例中,上述监听组件可以是防火墙组件。由于防火墙组件属于操作系统原有的监听组件,只需要对防火墙组件进行简单的参数配置,比如预设特征信息的配置,即可使防火墙组件具备识别目标网络请求的功能,无需在操作系统中增设新的监听组件,节约系统资源。
根据防火墙组件是否对目标网络请求进一步处理,可以包括以下两种情况:
第一种情况,防火墙组件不对原始目标网络请求进行进一步处理,发送给Message服务;
也就是说,防火墙组件不对步骤12-113确定的目标网络请求数据包做任何处理,直接或间接发送给Message服务。即发送给Message服务的目标网络请求如目标HTTP请求中还包括预设特征信息。
第二种情况,防火墙组件对目标网络请求进行冗余信息处理后,发送给Message服务。参见图10根据一示例性实施例示出的另一种通信方法的流程图,上述步骤12-121可以包括:
在步骤12-1211中,过滤所述目标网络请求中的预设特征信息,获得过滤后的目标网络请求;
本公开实施例中,防火墙在依据预设特征信息筛选出目标HTTP请求之后,还可以去除目标HTTP请求的预设特征信息,获得过滤后的目标HTTP请求。
在步骤12-1212中,将所述过滤后的目标网络请求发送给预设Message服务。
由于预设特征信息主要用于识别目标HTTP请求,在后续信息处理过程中,该预设特征信息属于冗余信息,因此,本公开实施例中,可以将原始目标HTTP请求中的预设特征信息去除后,再发送给Message服务,从而减轻Message服务的数据处理负担,提高Message服务的信息处理效率。
针对上述两种情况,可以采用以下任一方式将目标网络请求发送给Message服务,其中,此处的目标网络请求可以是原始目标HTTP请求,也可以是步骤12-1211中获得的、过滤后的目标HTTP请求。
第一种方式,防火墙组件拦截所述目标网络请求数据包,转发给Message服务。
本公开实施例中,网页可能并不关心本地虚拟HTTP服务器是否针对目标HTTP请求返回应答消息,因此,防火墙组件将上述目标HTTP请求进行拦截,进而转发给Message服务。
第二种方式,防火墙组件复制一份所述目标网络请求数据包,发送给Message服务。
另一方面,防火墙组件还允许目标网络请求数据包正常通行,发送给虚拟服务器。
第三种方式,防火墙组件允许目标网络请求数据包正常通行,发送给本地虚拟服务器,由所述本地虚拟服务器将所述目标网络请求数据包发送给Message服务。
仍以目标网络请求是目标HTTP请求为例,在第三种方式中,防火墙组件在放行目标HTTP请求数据包时,可以对该目标HTTP请求数据包作一个简单标记比如字符“M”,以使本地HTTP服务器检测到目标HTTP请求数据包标记有“M”后,将该目标HTTP请求数据包发送给Message服务。
在步骤12-122中,通过所述Message服务提取所述目标网络请求中的所述网页请求消息。
本公开实施例中,Message服务可以解析目标网络请求数据包,从解析出所述网页请求消息。
在本公开另一实施例中,Message服务在提取网页请求消息之前,也可以首先对目标网络请求数据包进行信息验证。具体参见参照图11根据一示例性实施例示出的另一种通信方法的流程图,上述步骤12-122可以包括:
在步骤12-1221中,对所述目标网络请求进行信息验证;
本公开实施例中,考虑到正常HTTP请求也可能会包括上述预设特征信息,比如包含预设关键字。也就是说上述步骤12-113确定的目标网路请求数据包中不一定包含有网页请求消息。
Message服务接收到防火墙发送的目标HTTP请求数据包后,还可以进一步按照预设策略对目标HTTP请求数据包进行信息验证,例如,判断目标网络请求中是否包括预设字段比如“APP ID:”字段,如果有,确定目标网络请求通过信息验证。
或者,在网页请求消息通过预设编码方式生成目标网络请求的示例中,Message服务还可以采用预设解码方式对目标网络请求进行解码验证。其中,上述预设编解码方式可以由网页客户端供应商提供并设置在Message服务中。
在步骤12-1222中,从信息验证成功的有效网络请求中提取网页请求消息。
本公开实施例中,终端中内置的Message服务在接收到系统底层发送的目标HTTP请求数据包后,为确保目标HTTP请求判断准确、减小后续数据解析量,可以在解析网页请求消息之前,进一步对目标HTTP请求进行信息验证,确保后续解析的请求数据中包含有上述网页请求消息。
在步骤12-13中,响应所述网页请求消息,生成所述第二消息;
操作系统在解析出上述网页请求消息之后进行响应,并根据响应结果生成第二消息。示例性的,假设上述网页请求消息用于请求操作系统启动一个计时器,则上述第二消息可以为:表示计时器已开启的反馈消息。
在步骤13-1中,操作系统将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息;
本公开中,操作系统在获取第二消息之后,判断是否可以通过开放给网页的预设系统调用接口,将上述第二消息发送给网页;若不能,可以将上述第二消息编辑成上述剪切板对应的系统调用接口能识别的、预设格式的第三消息,并将该第三消息发送给剪切板。
其中,操作系统可以采用以下至少一种方式,将上述第二消息转换为预设格式的第三消息:
方式一,在第二消息中插入预设序列,得到网页能识别的、预设格式的第三消息。
在本公开一实施例中,操作系统获取到第二消息后,可以在第二消息中插入预设序列,得到网页能识别的插入有预设序列的第三消息,例如,可以在第二消息的头部插入预设序列,比如,上述预设序列可以是101010。
方式二,在第二消息中添加预设关键字,得到网页能识别的预设格式的第三消息。
在本公开另一实施例中,操作系统可以在第二消息中添加预设关键字,得到网页能识别的第三消息,上述关键字可以是预设标记符、预设字符串如“111”等。
方式三,基于预设编码方式,对第二消息进行编码,得到网页能识别的预设格式的第三消息。
在本公开另一实施例中,操作系统还可以基于系统预先约定的预设编码方式(比如Base 64编码),对第二消息进行编码,得到网页能识别的预设格式的第三消息,即第三消息是经过预设编码方式编码后的消息。
在步骤14-1中,网页从剪切板中识别所述预设格式的第三消息,并解析为所述第二消息。
本公开实施例中,网页中可以预先设置有定时查询剪切板的机制,比如,可以设置有查询周期,其中,查询周期可以是比较小的数值,这样,可以使得网页能够及时读取到操作系统发给网页的消息,从而可以缩短处理消息的时间。
具体的,每到预设的查询周期,网页可以对剪切板进行查询,当查询到剪切板中存在消息时,网页可以对剪切板中的消息进行识别,确定当前消息是否属于预设格式的消息;若是,确定当前消息是操作系统发送给自身的消息,对当前消息进行解析,获得第二消息。其中,上述当前消息可能是预设格式的第三消息,也可能是操作系统接收到复制指令或剪切指令后存储到剪切板中的消息。
网页从剪切板中识别预设格式的第三消息的过程,与上述第三消息的生成过程相对应。
对应上述方式一,当网页确定剪切板中的当前消息包含预设序列时,比如,上述预设序列可以是101010,可以确定剪切板中的当前消息中携带有操作系统发送给自身的消息。
对应上述方式二,当网页确定剪切板中的当前消息包含预设关键字时,比如,上述预设字符串“111”,可以确定剪切板中的当前消息中携带有操作系统发送给自身的消息。
对应上述方式三,当网页确定剪切板中的当前消息的编码方式属于预设编码方式如Base 64时,可以确定剪切板中的当前消息中携带有操作系统发送给自身的消息。
本公开实施例中,可以通过目标网络请求作为承载网页请求消息的载体,从而指示操作系统提供目标服务;并将生成的响应消息转换成虚拟剪切板信息,使得网页客户端如浏览器可以获取并解析上述预设格式的剪贴板信息,并将解析出的目标响应消息反馈给网页。实现通过网页来触发操作系统执行更多类型的操作,比如通过网页打开系统应用、在不增设API接口的情况下打开终端中安装的其它应用等,增强了网页和操作系统的功能,有效提升了终端的用户体验。
在本公开另一实施例中,网页在获取到第二消息之后,还可以通过上述预设系统调用接口向操作系统发送删除指示信息,以指示操作系统删除缓存于剪切板中的上述第三消息,避免上述第三消息长时间占用系统内存资源。
以上示例是结合上述应用场景一,对本公开提供的通信方法进行了详细说明。应当理解的是,当上述通信方法应用于其它应用场景时,其信息处理过程与上述应用场景一类似,此处不再赘述。
另外,剪切板属于系统组件,在上述应用场景二中,网页向剪切板发送与操作系统进行通信的预设格式的第三消息后,操作系统即可检测到剪切板中存在消息。也就是说,网页向剪切板发送第三消息后,操作系统可以实时监听到,并对剪切板中存在的消息进行识别。
在本公开另一实施例中,第二对象确定第一对象获取到第二消息之后,还可以将上述第三消息从所述剪切板中删除,避免上述第三消息长时间占用系统内存资源。
在本公开另一实施例中,操作系统在对剪切板中的消息进行识别,若确定当前消息不属于上述预设格式的消息,当接收到粘贴指令时,对所述当前消息进行粘贴处理。即,当所述第二对象接收到粘贴指令时,对所述剪切板中除所述预设格式的消息之外的其它消息,进行粘贴处理。
例如,在上述应用场景二中,针对用户可以通过剪切按钮或复制按钮,触发终端向剪切板存储消息的情况,操作系统也可检测到剪切板中存在消息,此时,操作系统也会对剪切板中存在的消息进行识别。此种情况下,操作系统可以识别出剪切板中存在的消息不是预设格式的消息,也即不会对剪切板中的消息进行处理。这样,通过将网页和操作系统通信的消息设置为预设格式的消息,可以将网页和操作系统之间相互通信的消息与剪切或复制到剪切板的消息进行有效区分,以免造成误操作,同时避免影响剪切、复制、粘贴的正常功能。
在本实施例中,终端中的剪切板同时还可以用于用户实现剪切、复制、粘贴功能。此种情况下,当操作系统接收到粘贴指令时,可以对剪切板中的消息进行识别,确定除预设格式的消息之外的其他消息,进而,可以对确定出的其他消息进行粘贴处理,其中,可以对最新剪切或复制到剪切板中的消息进行粘贴处理,也可以对剪切板中除预设格式的消息之外的所有消息进行粘贴处理。
综上,采用本公开提供的方法,当第一对象向第二对象发送的目标消息以及第二对象根据上述目标消息生成的第二消息,不属于第一对象与第二对象之间的系统调用接口可以识别的消息类型时,可以将上述目标消息和第二消息分别转换为上述预设系统调用接口能识别的、符合网络请求格式的消息或者剪切板消息,以使第一对象和第二对象之间可以传输更多类型的消息,实现通过网页来触发操作系统执行更多类型的操作,增强了网页和操作系统的功能,有效提升了终端的用户体验。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。
其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
与前述应用功能实现方法实施例相对应,本公开还提供了应用功能实现装置及相应的终端的实施例。
参见图12根据一示例性实施例示出的一种通信装置框图,所述通信装置可以包括:第一消息发送模块21,被配置为由第一对象通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息;
第二消息生成模块22,被配置为由所述第二对象获取所述第一消息,并根据所述第一消息生成第二消息;
第三消息发送模块23,被配置为由所述第二对象将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息;
消息解析模块24,被配置为由所述第一对象从所述剪切板中识别并解析所述第三消息,获得所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
在本公开一装置实施例中,当所述第一对象为所述网页,所述第二对象为所述操作系统时;
所述第一消息为携带网页请求消息的目标网络请求,所述网页请求消息来自所述网页,用于请求所述操作系统提供目标服务,所述目标服务与所述操作系统通过预设系统调用接口为网页提供的预设服务不同;
所述第二消息为所述网页请求消息对应的目标响应消息。
参见图13根据一示例性实施例示出的另一种通信装置框图,在图12所示装置实施例的基础上,所述装置还可以包括:
虚拟连接建立模块20,被配置为在网页客户端与预设虚拟服务器之间建立所述虚拟网络连接,所述网页客户端用于显示所述网页。
在本公开一装置实施例中,所述虚拟连接建立模块20,可以被配置为在所述网页客户端与预设虚拟HTTP服务器之间,建立虚拟传输控制协议TCP连接。
参见图14根据一示例性实施例示出的另一种通信装置框图,在图13所示装置实施例的基础上,所述虚拟连接建立模块20可以包括:
地址获取子模块201,被配置为根据所述网页客户端的网络请求获取虚拟HTTP服务器的地址;
握手数据获取子模块202,被配置为获取握手数据包,所述握手数据包中包括所述虚拟HTTP服务器的地址;
虚拟TCP连接建立子模块203,被配置为通过所述握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
参见图15-1根据一示例性实施例示出的另一种通信装置框图,在图14所示装置实施例的基础上,所述地址获取子模块201,可以包括:
地址获取单元2011,被配置为从所述网络请求中提取所述虚拟HTTP服务器的地址。
参见图15-2根据一示例性实施例示出的另一种通信装置框图,在图14所示装置实施例的基础上,所述地址获取子模块201,可以包括:
虚拟域名获取单元2012,被配置为获取所述网络请求中的虚拟域名;
地址解析单元2013,被配置为根据所述虚拟域名解析所述虚拟HTTP服务器的地址。
参见图16根据一示例性实施例示出的另一种通信装置框图,在图13所示装置实施例的基础上,所述虚拟连接建立模块20,可以包括:
虚拟域名获取单元2012,被配置为获取网络请求中的虚拟域名;
IP地址解析单元2014,被配置为将所述虚拟域名解析为对应的虚拟IP地址;
握手数据获取单元2015,被配置为获取TCP握手数据包,所述TCP握手数据包中包括所述虚拟IP地址;
握手数据更新单元2016,被配置为将所述虚拟IP地址修改为所述虚拟HTTP服务器的地址,获得更新后的握手数据包;
虚拟TCP连接建立单元2017,被配置为通过所述更新后的握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
参见图17根据一示例性实施例示出的另一种通信装置框图,在图16、图15-1、图15-2任一所示装置实施例的基础上,所述虚拟域名获取单元2012可以包括:
域名获取子单元20121,被配置为获取HTTP地址中的域名信息;
域名查询子单元20122,被配置为根据所述域名信息查询预设虚拟域名白名单;
虚拟域名确定子单元20123,被配置为在所述预设虚拟域名白名单中包括所述域名信息的情况下,确定所述域名信息属于所述虚拟域名。
参见图18根据一示例性实施例示出的另一种通信装置框图,在图12所示装置实施例的基础上,所述第二消息生成模块22可以包括:
网络请求获取子模块221,被配置为由操作系统获取网络请求;
特征识别子模块222,被配置为确定所述网络请求中是否包括预设特征信息,所述预设特征信息用于标记当前网络请求属于虚拟网络请求;
目标请求确定子模块223,被配置为在所述网络请求中包括所述预设特征信息的情况下,确定所述网络请求为所述目标网络请求。
参见图19根据一示例性实施例示出的另一种通信装置框图,在图18所示装置实施例的基础上,所述第二消息生成模块22可以包括:
目标请求发送子模块224,被配置为将所述目标网络请求发送给预设消息服务;
解析子模块225,被配置为通过所述消息服务解析所述目标网络请求,获得所述网页请求消息;
第二消息生成子模块226,被配置为根据所述网页请求消息生成第二消息。
参见图20根据一示例性实施例示出的另一种通信装置框图,在图19所示装置实施例的基础上,所述目标请求发送子模块224,可以包括:
信息过滤单元2241,被配置为过滤所述目标网络请求中的所述预设特征信息,获得过滤后的目标网络请求;
目标请求发送单元2242,被配置为将所述过滤后的目标网络请求发送给所述预设消息服务。
参见图21-1根据一示例性实施例示出的另一种通信装置框图,在图19所示装置实施例的基础上,所述目标请求发送子模块224可以包括:
请求转发单元22401,被配置为通过预设监听组件将所述目标网络请求转发给所述消息服务。
参见图21-2根据一示例性实施例示出的另一种通信装置框图,在图19所示装置实施例的基础上,所述目标请求发送子模块224可以包括:
请求复制单元22402,被配置为通过所述预设监听组件复制所述目标网络请求,将复制的目标网络请求发送给所述消息服务。
在本公开一装置实施例中,所述预设监听组件可以包括:防火墙组件。
参见图21-3根据一示例性实施例示出的另一种通信装置框图,在图19所示装置实施例的基础上,所述目标请求发送子模块224可以包括:
请求中转单元22403,被配置为通过所述预设监听组件将所述目标网络请求发送给所述虚拟服务器,由所述虚拟服务器将所述目标网络请求发送给所述消息服务。
参见图22根据一示例性实施例示出的另一种通信装置框图,在图19所示装置实施例的基础上,所述解析子模块225可以包括:
信息验证单元2251,被配置为对所述目标网络请求进行信息验证;
消息解析单元2252,被配置为对信息验证成功的有效网络请求进行解析,获得所述网页请求消息。
参见图23-1根据一示例性实施例示出的另一种通信装置框图,在图12所示装置实施例的基础上,所述第三消息发送模块23可以包括:
第一特征设置子模块231,被配置为在所述第二消息中添加预设特征序列。
参见图23-2根据一示例性实施例示出的另一种通信装置框图,在图12所示装置实施例的基础上,所述第三消息发送模块23可以包括:
第二特征设置子模块232,被配置为在所述第二消息中添加预设关键字;
参见图23-3根据一示例性实施例示出的另一种通信装置框图,在图12所示装置实施例的基础上,所述第三消息发送模块23可以包括:
第三特征设置子模块233,被配置为基于预设编码方式,对所述第二消息进行编码。
上述图23-1~图23-3分别示出了第三消息发送模块23包括一个特征设置子模块的情况。应当理解的是,在本公开另一通信装置实施例中,第三消息发送模块23还可以包括上述至少两个特征设置子模块,比如,包括:第一特征设置子模块231和第三特征设置子模块233,使得第三消息发送模块23在生成第三消息的过程中采用添加预设特征序列和预设编码方式相结合的方式,标识第三消息属于虚拟剪切板消息。
参见图24根据一示例性实施例示出的另一种通信装置框图,在图12所示装置实施例的基础上,所述消息解析模块24可以包括:
消息查询子模块241,被配置为查询所述剪切板中的消息;
解析子模块242,被配置为对剪切板中的消息进行识别,如果识别到所述第三消息,则对所述第三消息进行解析,获得所述第二消息。
在本公开一装置实施例中,当所述第一对象为网页,所述第二对象为操作系统时;所述消息查询子模块,被配置为按预设的查询周期,查询所述剪切板中的消息。
以上述装置示例是站在终端角度,对终端执行上述通信方法时所包括的对应功能模块、子模块、单元进行的描述。
下面将分别从第一对象、第二对象的角度,对执行上述通信方法所对应的应用功能实现装置进行详细描述。
参见图25根据一示例性实施例示出的一种通信装置框图,设置于第一对象中,所述装置可以包括:
消息发送模块31,被配置为通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息,以使所述第二对象根据所述第一消息生成第二消息,并将所述第二消息转换为预设格式的第三消息发送给剪切板;
消息识别模块32,被配置为查询所述剪切板中的消息,从所述剪切板中识别所述预设格式的第三消息;
消息解析模块33,被配置为将识别出的所述第三消息解析为所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
在本公开一装置实施例中,当所述第一对象为网页,所述第二对象为操作系统时;
参见图26根据一示例性实施例示出的另一种通信装置框图,在图25所示装置实施例的基础上,所述装置还可以包括:
虚拟连接触发模块30,被配置为触发网页客户端向所述第二对象发送网络请求,以使所述第二对象根据所述网络请求在所述第一对象与所述预设虚拟服务器之间建立虚拟网络连接;所述网页客户端用于显示所述网页。
在本公开另一装置实施例中,所述第一对象为所述网页;所述消息识别模块32,可以包括:
查询子模块,被配置为按预设的查询周期,查询所述剪切板中的消息。
参见图27根据一示例性实施例示出的另一种通信装置框图,在图26所示装置实施例的基础上,所述装置还可以包括:
删除指示发送模块34,被配置为在解析出所述第二消息之后,向所述操作系统发送删除指示信息,所述删除指示信息用于指示所述操作系统将所述第三消息从所述剪切板中删除。
相应的,本公开还提供了设置于第二对象中的通信装置。
参见图28根据一示例性实施例示出的一种通信装置框图,设置于第二对象中,所述装置可以包括:
第一消息获取模块41,被配置为获取第一对象通过与所述第二对象之间的虚拟网络连接发送的第一消息;
第二消息生成模块42,被配置为根据所述第一消息生成第二消息;
第三消息发送模块43,被配置为将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息,以使所述第一对象通过所述剪切板获取所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
在本公开一装置实施例中,若所述第二对象为操作系统,所述第一对象为网页;参见图29根据一示例性实施例示出的另一种通信装置框图,在图28所示装置实施例的基础上,所述装置还可以包括:
虚拟连接建立模块40,被配置为在网页客户端与预设虚拟服务器之间建立所述虚拟网络连接,所述网页客户端用于显示所述网页。
在本公开一装置实施例中,所述虚拟连接建立模块40,可以被配置为在所述网页客户端与预设虚拟HTTP服务器之间,建立虚拟传输控制协议TCP连接。
与上述图14所示装置实施例类似,在本公开另一装置实施例中,所述虚拟连接建立模块40可以包括:
地址获取子模块,被配置为根据所述网页客户端发送的网络请求,获取虚拟HTTP服务器的地址;
握手数据获取子模块,被配置为获取握手数据包,所述握手数据包中包括所述虚拟HTTP服务器的地址;
虚拟TCP连接建立子模块,被配置为通过所述握手数据包与所述预设虚拟HTTP服务器建立虚拟TCP连接。
与上述图15-1、图15-2所示装置实施例类似,在本公开另一装置实施例中,所述地址获取子模块可以包括:
地址获取单元,被配置为从所述网络请求中提取所述虚拟HTTP服务器的地址;或者,
虚拟域名获取单元,被配置为获取所述网络请求中的虚拟域名;
地址解析单元,被配置为根据所述虚拟域名解析所述虚拟HTTP服务器的地址。
与上述图16所示装置实施例类似,在本公开另一装置实施例中,所述虚拟连接建立模块,可以包括:
虚拟域名获取单元,被配置为获取网络请求中的虚拟域名;
IP地址解析单元,被配置为将所述虚拟域名解析为对应的虚拟IP地址;
握手数据获取单元,被配置为获取TCP握手数据包,所述TCP握手数据包中包括所述虚拟IP地址;
握手数据更新单元,被配置为将所述虚拟IP地址修改为所述虚拟HTTP服务器的地址,获得更新后的握手数据包;
虚拟TCP连接建立单元,被配置为通过所述更新后的握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
与上述图17所示装置实施例类似,在本公开另一装置实施例中,所述虚拟域名获取单元,可以包括:
域名获取子单元,被配置为获取HTTP地址中的域名信息;
域名查询子单元,被配置为根据所述域名信息查询预设虚拟域名白名单;
虚拟域名确定子单元,被配置为在所述预设虚拟域名白名单中包括所述域名信息的情况下,确定所述域名信息属于所述虚拟域名。
在本公开一装置实施例中所述第一消息可以为携带有网页请求消息的目标网络请求;
参见图30根据一示例性实施例示出的另一种通信装置框图,在图29所示装置实施例的基础上,所述第一消息获取模块41,可以包括:
网络请求获取子模块411,被配置为由操作系统获取网络请求;
特征识别子模块412,被配置为确定所述网络请求中是否包括预设特征信息,所述预设特征信息用于标记当前网络请求属于虚拟网络请求;
目标请求确定子模块413,被配置为在所述网络请求中包括所述预设特征信息的情况下,确定所述网络请求为所述目标网络请求。
该装置实施例与上述图18所示装置实施例类似。
参见图31根据一示例性实施例示出的另一种通信装置框图,在图30所示装置实施例的基础上,所述第二消息生成模块42可以包括:
消息解析子模块421,被配置为解析所述目标网络请求,获得所述网页请求消息;
第二消息生成子模块422,被配置为响应所述网页请求消息,获得所述网页请求消息对应的目标响应消息。
参见图32根据一示例性实施例示出的另一种通信装置框图,在图31所示装置实施例的基础上,所述消息解析子模块421可以包括:
目标请求发送单元4211,被配置为将所述目标网络请求发送给预设消息服务;
解析单元4212,被配置为通过所述消息服务解析所述目标网络请求,获得所述网页请求消息。
参见图33根据一示例性实施例示出的另一种通信装置框图,在图32所示装置实施例的基础上,所述目标请求发送单元4211可以包括:
信息过滤子单元42111,被配置为过滤所述目标网络请求中的所述预设特征信息,获得过滤后的目标网络请求;
目标请求发送子单元42112,被配置为将所述过滤后的目标网络请求发送给所述预设消息服务。
与上述图21-1~图21-3所示装置实施例类似,在本公开一装置实施例中,所述目标请求发送单元42112可以包括以下任一子单元:
请求转发子单元,被配置为通过预设监听组件将所述目标网络请求转发给所述消息服务;
请求复制子单元,被配置为通过所述预设监听组件复制所述目标网络请求,将复制的目标网络请求发送给所述消息服务;
请求中转子单元,被配置为通过所述预设监听组件将所述目标网络请求发送给所述虚拟服务器,由所述虚拟服务器将所述目标网络请求发送给所述消息服务。
在本公开一装置实施例中,所述预设监听组件包括:防火墙组件。
与上述图22所述装置实施例类似,上述解析单元4212可以包括:
信息验证子单元,被配置为对所述目标网络请求进行信息验证;
消息解析子单元,被配置为对信息验证成功的有效网络请求进行解析,获得所述网页请求消息。
与上述图23-1~图23-3所述装置实施例类似,所述第三消息发送模块可以包括以下至少一个子模块:
第一特征设置子模块,被配置为在所述第二消息中添加预设特征序列;
第二特征设置子模块,被配置为在所述第二消息中添加预设关键字;
第三特征设置子模块,被配置为基于预设编码方式,对所述第二消息进行编码。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,一方面,本公开实施例提供了一种通信装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,上述处理器被配置为:
第一对象通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息;
所述第二对象获取所述第一消息,并根据所述第一消息生成第二消息;
所述第二对象将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息;
所述第一对象从所述剪切板中识别并解析所述第三消息,获得所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
图34是根据一示例性实施例示出的一种通信装置3400的结构示意图。例如,装置3400可以是终端,可以具体为移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理,可穿戴设备如智能手表、智能眼镜、智能手环、智能跑鞋等。
参照图34,装置3400可以包括以下一个或多个组件:处理组件3402,存储器3404,电源组件3406,多媒体组件3408,音频组件3410,输入/输出(I/O)的接口3412,传感器组件3414,以及通信组件3416。
处理组件3402通常控制装置3400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件3402可以包括一个或多个处理器3420来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件3402可以包括一个或多个模块,便于处理组件3402和其他组件之间的交互。例如,处理组件3402可以包括多媒体模块,以方便多媒体组件3408和处理组件3402之间的交互。
存储器3404被配置为存储各种类型的数据以支持在设备3400的操作。这些数据的示例包括用于在装置3400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器3404可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件3406为装置3400的各种组件提供电力。电源组件3406可以包括电源管理系统,一个或多个电源,及其他与为装置3400生成、管理和分配电力相关联的组件。
多媒体组件3408包括在上述装置3400和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。上述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与上述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件3408包括一个前置摄像头和/或后置摄像头。当设备3400处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件3410被配置为输出和/或输入音频信号。例如,音频组件3410包括一个麦克风(MIC),当装置3400处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器3404或经由通信组件3416发送。在一些实施例中,音频组件3410还包括一个扬声器,用于输出音频信号。
I/O接口3412为处理组件3402和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件3414包括一个或多个传感器,用于为装置3400提供各个方面的状态评估。例如,传感器组件3414可以检测到设备3400的打开/关闭状态,组件的相对定位,例如上述组件为装置3400的显示器和小键盘,传感器组件3414还可以检测装置3400或装置3400一个组件的位置改变,用户与装置3400接触的存在或不存在,装置3400方位或加速/减速和装置3400的温度变化。传感器组件3414可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件3414还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件3414还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件3416被配置为便于装置3400和其他设备之间有线或无线方式的通信。装置3400可以接入基于通信标准的无线网络,如WiFi,2G或3G,4G LTE(Long TermEvolution,长期演进)、5G NR(New Radio,新空口)网络它们的组合。在一个示例性实施例中,通信组件3416经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,上述通信组件3416还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置3400可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非临时性计算机可读存储介质,例如包括指令的存储器3404,当存储介质中的指令由装置3400的处理器3420执行时,使得装置3400能够执行上述任一所述的通信方法。
所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (60)
1.一种通信方法,其特征在于,所述方法包括:
第一对象通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息;
所述第二对象获取所述第一消息,并根据所述第一消息生成第二消息;
所述第二对象将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息;
所述第一对象从所述剪切板中识别并解析所述第三消息,获得所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
2.根据权利要求1所述的方法,其特征在于,当所述第一对象为所述网页,所述第二对象为所述操作系统时;
所述第一消息为携带网页请求消息的目标网络请求,所述网页请求消息来自所述网页,用于请求所述操作系统提供目标服务,所述目标服务与所述操作系统通过预设系统调用接口为网页提供的预设服务不同;
所述第二消息为所述网页请求消息对应的目标响应消息。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在网页客户端与预设虚拟服务器之间建立所述虚拟网络连接,所述网页客户端用于显示所述网页。
4.根据权利要求3所述的方法,其特征在于,所述在网页客户端与预设虚拟服务器之间建立所述虚拟网络连接,包括:
根据所述网页客户端的网络请求获取虚拟HTTP服务器的地址;
获取握手数据包,所述握手数据包中包括所述虚拟HTTP服务器的地址;
通过所述握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
5.根据权利要求4所述的方法,其特征在于,采用以下任一方式根据所述网页客户端的网络请求获取虚拟HTTP服务器的地址:
从所述网络请求中提取所述虚拟HTTP服务器的地址;或者,
获取所述网络请求中的虚拟域名;
根据所述虚拟域名解析所述虚拟HTTP服务器的地址。
6.根据权利要求3所述的方法,其特征在于,所述在网页客户端与预设虚拟服务器之间建立所述虚拟网络连接,包括:
获取网络请求中的虚拟域名;
将所述虚拟域名解析为对应的虚拟IP地址;
获取TCP握手数据包,所述TCP握手数据包中包括所述虚拟IP地址;
将所述虚拟IP地址修改为所述虚拟HTTP服务器的地址,获得更新后的握手数据包;
通过所述更新后的握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
7.根据权利要求2所述的方法,其特征在于,所述第二对象获取所述第一消息,包括:
操作系统获取网络请求;
确定所述网络请求中是否包括预设特征信息,所述预设特征信息用于标记当前网络请求属于虚拟网络请求;
若所述网络请求中包括所述预设特征信息,确定所述网络请求为所述目标网络请求。
8.根据权利要求7所述的方法,其特征在于,所述根据所述第一消息生成第二消息,包括:
将所述目标网络请求发送给预设消息服务;
通过所述消息服务解析所述目标网络请求,获得所述网页请求消息;
根据所述网页请求消息生成第二消息。
9.根据权利要求8所述的方法,其特征在于,采用以下至少一种方式将所述目标网络请求发送给所述预设消息服务:
通过预设监听组件将所述目标网络请求转发给所述消息服务;
通过所述预设监听组件复制所述目标网络请求,将复制的目标网络请求发送给所述消息服务;
通过所述预设监听组件将所述目标网络请求发送给所述虚拟服务器,由所述虚拟服务器将所述目标网络请求发送给所述消息服务。
10.根据权利要求8所述的方法,其特征在于,所述通过所述消息服务解析所述目标网络请求,获得所述网页请求消息,包括:
对所述目标网络请求进行信息验证;
对信息验证成功的有效网络请求进行解析,获得所述网页请求消息。
11.根据权利要求1或2所述的方法,其特征在于,所述第二对象采用以下至少一种方式,将所述第二消息转换为预设格式的第三消息,包括:
在所述第二消息中添加预设特征序列;
在所述第二消息中添加预设关键字;
基于预设编码方式,对所述第二消息进行编码。
12.根据权利要求1或2所述的方法,其特征在于,所述第一对象从所述剪切板中识别并解析所述第三消息,获得所述第二消息,包括:
查询所述剪切板中的消息;
对剪切板中的消息进行识别,如果识别到所述第三消息,则对所述第三消息进行解析,获得所述第二消息。
13.一种通信方法,其特征在于,应用于第一对象中,所述方法包括:
通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息,以使所述第二对象根据所述第一消息生成第二消息,并将所述第二消息转换为预设格式的第三消息发送给剪切板;
查询所述剪切板中的消息,从所述剪切板中识别所述预设格式的第三消息;
将识别出的所述第三消息解析为所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
14.根据权利要求13所述的方法,其特征在于,当所述第一对象为网页,所述第二对象为操作系统时;
在所述通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息之前,所述方法还包括:
触发网页客户端向所述第二对象发送网络请求,以使所述第二对象根据所述网络请求在所述第一对象与所述预设虚拟服务器之间建立虚拟网络连接;
所述网页客户端用于显示所述网页。
15.一种通信方法,其特征在于,应用于第二对象中,所述方法包括:
获取第一对象通过与所述第二对象之间的虚拟网络连接发送的第一消息;
根据所述第一消息生成第二消息;
将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息,以使所述第一对象通过所述剪切板获取所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
16.根据权利要求15所述的方法,其特征在于,所述第二对象为操作系统,所述第一对象为网页;
在所述获取第一对象通过与所述第二对象之间的虚拟网络连接发送的第一消息之前,所述方法还包括:
在网页客户端与预设虚拟服务器之间建立所述虚拟网络连接,所述网页客户端用于显示所述网页。
17.根据权利要求16所述的方法,其特征在于,所述在网页客户端与预设虚拟服务器之间建立所述虚拟网络连接,包括:
根据所述网页客户端发送的网络请求,获取虚拟HTTP服务器的地址;
获取握手数据包,所述握手数据包中包括所述虚拟HTTP服务器的地址;
通过所述握手数据包与所述预设虚拟HTTP服务器建立虚拟TCP连接。
18.根据权利要求17所述的方法,其特征在于,采用以下任一方式根据所述网页客户端发送的网络请求,获取虚拟HTTP服务器的地址:
从所述网络请求中提取所述虚拟HTTP服务器的地址;或者,
获取所述网络请求中的虚拟域名;
根据所述虚拟域名解析所述虚拟HTTP服务器的地址。
19.根据权利要求16所述的方法,其特征在于,所述在网页客户端与预设虚拟服务器之间建立所述虚拟网络连接,包括:
获取网络请求中的虚拟域名;
将所述虚拟域名解析为对应的虚拟IP地址;
获取TCP握手数据包,所述TCP握手数据包中包括所述虚拟IP地址;
将所述虚拟IP地址修改为虚拟HTTP服务器的地址,获得更新后的握手数据包;
通过所述更新后的握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
20.根据权利要求18或19所述的方法,其特征在于,所述获取网络请求中的虚拟域名,包括:
获取HTTP地址中的域名信息;
根据所述域名信息查询预设虚拟域名白名单;
若所述预设虚拟域名白名单中包括所述域名信息,确定所述域名信息属于所述虚拟域名。
21.根据权利要求15所述的方法,其特征在于,所述第一消息为携带有网页请求消息的目标网络请求;
所述获取第一对象通过与所述第二对象之间的虚拟网络连接发送的第一消息,包括:
获取经由所述操作系统的网络请求;
确定所述网络请求中是否包括预设特征信息,所述预设特征信息用于标记当前网络请求属于虚拟网络请求;
若所述网络请求中包括预设特征信息,确定所述网络请求为所述目标网络请求。
22.根据权利要求21所述的方法,其特征在于,所述根据所述第一消息生成第二消息,包括:
解析所述目标网络请求,获得所述网页请求消息;
响应所述网页请求消息,获得所述网页请求消息对应的目标响应消息。
23.根据权利要求22所述的方法,其特征在于,所述解析所述目标网络请求,获得所述网页请求消息,包括:
过滤所述目标网络请求中的所述预设特征信息,获得过滤后的目标网络请求;
将所述过滤后的目标网络请求发送给所述预设消息服务;
通过所述消息服务解析所述目标网络请求,获得所述网页请求消息。
24.根据权利要求15所述的方法,其特征在于,采用以下至少一种方式,将所述第二消息转换为预设格式的第三消息,包括:
在所述第二消息中添加预设特征序列;
在所述第二消息中添加预设关键字;
基于预设编码方式,对所述第二消息进行编码。
25.一种通信装置,其特征在于,所述装置包括:
第一消息发送模块,被配置为由第一对象通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息;
第二消息生成模块,被配置为由所述第二对象获取所述第一消息,并根据所述第一消息生成第二消息;
第三消息发送模块,被配置为由所述第二对象将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息;
消息解析模块,被配置为由所述第一对象从所述剪切板中识别并解析所述第三消息,获得所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
26.根据权利要求25所述的装置,其特征在于,当所述第一对象为所述网页,所述第二对象为所述操作系统时;
所述第一消息为携带网页请求消息的目标网络请求,所述网页请求消息来自所述网页,用于请求所述操作系统提供目标服务,所述目标服务与所述操作系统通过预设系统调用接口为网页提供的预设服务不同;
所述第二消息为所述网页请求消息对应的目标响应消息。
27.根据权利要求25所述的装置,其特征在于,所述装置还包括:
虚拟连接建立模块,被配置为在网页客户端与预设虚拟服务器之间建立所述虚拟网络连接,所述网页客户端用于显示所述网页。
28.根据权利要求27所述的装置,其特征在于,所述虚拟连接建立模块,被配置为在所述网页客户端与预设虚拟HTTP服务器之间,建立虚拟传输控制协议TCP连接。
29.根据权利要求28所述的装置,其特征在于,所述虚拟连接建立模块,包括:
地址获取子模块,被配置为根据所述网页客户端的网络请求获取虚拟HTTP服务器的地址;
握手数据获取子模块,被配置为获取握手数据包,所述握手数据包中包括所述虚拟HTTP服务器的地址;
虚拟TCP连接建立子模块,被配置为通过所述握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
30.根据权利要求29所述的装置,其特征在于,所述地址获取子模块包括:
地址获取单元,被配置为从所述网络请求中提取所述虚拟HTTP服务器的地址;或者,
虚拟域名获取单元,被配置为获取所述网络请求中的虚拟域名;
地址解析单元,被配置为根据所述虚拟域名解析所述虚拟HTTP服务器的地址。
31.根据权利要求28所述的装置,其特征在于,所述虚拟连接建立模块,包括:
虚拟域名获取单元,被配置为获取网络请求中的虚拟域名;
IP地址解析单元,被配置为将所述虚拟域名解析为对应的虚拟IP地址;
握手数据获取单元,被配置为获取TCP握手数据包,所述TCP握手数据包中包括所述虚拟IP地址;
握手数据更新单元,被配置为将所述虚拟IP地址修改为所述虚拟HTTP服务器的地址,获得更新后的握手数据包;
虚拟TCP连接建立单元,被配置为通过所述更新后的握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
32.根据权利要求30或31所述的装置,其特征在于,所述虚拟域名获取单元,包括:
域名获取子单元,被配置为获取HTTP地址中的域名信息;
域名查询子单元,被配置为根据所述域名信息查询预设虚拟域名白名单;
虚拟域名确定子单元,被配置为在所述预设虚拟域名白名单中包括所述域名信息的情况下,确定所述域名信息属于所述虚拟域名。
33.根据权利要求26所述的装置,其特征在于,所述第二消息生成模块,包括:
网络请求获取子模块,被配置为由操作系统获取网络请求;
特征识别子模块,被配置为确定所述网络请求中是否包括预设特征信息,所述预设特征信息用于标记当前网络请求属于虚拟网络请求;
目标请求确定子模块,被配置为在所述网络请求中包括所述预设特征信息的情况下,确定所述网络请求为所述目标网络请求。
34.根据权利要求33所述的装置,其特征在于,所述第二消息生成模块,包括:
目标请求发送子模块,被配置为将所述目标网络请求发送给预设消息服务;
解析子模块,被配置为通过所述消息服务解析所述目标网络请求,获得所述网页请求消息;
第二消息生成子模块,被配置为根据所述网页请求消息生成第二消息。
35.根据权利要求34所述的装置,其特征在于,所述目标请求发送子模块,包括:
信息过滤单元,被配置为过滤所述目标网络请求中的所述预设特征信息,获得过滤后的目标网络请求;
目标请求发送单元,被配置为将所述过滤后的目标网络请求发送给所述预设消息服务。
36.根据权利要求34所述的装置,其特征在于,所述目标请求发送子模块包括以下任一单元:
请求转发单元,被配置为通过预设监听组件将所述目标网络请求转发给所述消息服务;
请求复制单元,被配置为通过所述预设监听组件复制所述目标网络请求,将复制的目标网络请求发送给所述消息服务;
请求中转单元,被配置为通过所述预设监听组件将所述目标网络请求发送给所述虚拟服务器,由所述虚拟服务器将所述目标网络请求发送给所述消息服务。
37.根据权利要求36所述的装置,其特征在于,所述预设监听组件包括:防火墙组件。
38.根据权利要求34所述的装置,其特征在于,所述解析子模块,包括:
信息验证单元,被配置为对所述目标网络请求进行信息验证;
消息解析单元,被配置为对信息验证成功的有效网络请求进行解析,获得所述网页请求消息。
39.根据权利要求25所述的装置,其特征在于,所述第三消息发送模块包括以下至少一个子模块:
第一特征设置子模块,被配置为在所述第二消息中添加预设特征序列;
第二特征设置子模块,被配置为在所述第二消息中添加预设关键字;
第三特征设置子模块,被配置为基于预设编码方式,对所述第二消息进行编码。
40.根据权利要求25所述的装置,其特征在于,所述消息解析模块,包括:
消息查询子模块,被配置为查询所述剪切板中的消息;
解析子模块,被配置为对剪切板中的消息进行识别,如果识别到所述第三消息,则对所述第三消息进行解析,获得所述第二消息。
41.根据权利要求40所述的装置,其特征在于,当所述第一对象为网页,所述第二对象为操作系统时;所述消息查询子模块,被配置为按预设的查询周期,查询所述剪切板中的消息。
42.一种通信装置,其特征在于,设置于第一对象中,所述装置包括:
消息发送模块,被配置为通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息,以使所述第二对象根据所述第一消息生成第二消息,并将所述第二消息转换为预设格式的第三消息发送给剪切板;
消息识别模块,被配置为查询所述剪切板中的消息,从所述剪切板中识别所述预设格式的第三消息;
消息解析模块,被配置为将识别出的所述第三消息解析为所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
43.根据权利要求42所述的装置,其特征在于,当所述第一对象为网页,所述第二对象为操作系统时;
所述装置还包括:
虚拟连接触发模块,被配置为触发网页客户端向所述第二对象发送网络请求,以使所述第二对象根据所述网络请求在所述第一对象与所述预设虚拟服务器之间建立虚拟网络连接;所述网页客户端用于显示所述网页。
44.根据权利要求42所述的装置,其特征在于,所述第一对象为所述网页;
所述消息识别模块,包括:
查询子模块,被配置为按预设的查询周期,查询所述剪切板中的消息。
45.根据权利要求42所述的装置,其特征在于,所述装置还包括:
删除指示发送模块,被配置为在解析出所述第二消息之后,向所述操作系统发送删除指示信息,所述删除指示信息用于指示所述操作系统将所述第三消息从所述剪切板中删除。
46.一种通信装置,其特征在于,设置于第二对象中,所述装置包括:
第一消息获取模块,被配置为获取第一对象通过与所述第二对象之间的虚拟网络连接发送的第一消息;
第二消息生成模块,被配置为根据所述第一消息生成第二消息;
第三消息发送模块,被配置为将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息,以使所述第一对象通过所述剪切板获取所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
47.根据权利要求46所述的装置,其特征在于,所述第二对象为操作系统,所述第一对象为网页;
所述装置还包括:
虚拟连接建立模块,被配置为在网页客户端与预设虚拟服务器之间建立所述虚拟网络连接,所述网页客户端用于显示所述网页。
48.根据权利要求47所述的装置,其特征在于,所述虚拟连接建立模块,被配置为在所述网页客户端与预设虚拟HTTP服务器之间,建立虚拟传输控制协议TCP连接。
49.根据权利要求48所述的装置,其特征在于,所述虚拟连接建立模块,包括:
地址获取子模块,被配置为根据所述网页客户端发送的网络请求,获取虚拟HTTP服务器的地址;
握手数据获取子模块,被配置为获取握手数据包,所述握手数据包中包括所述虚拟HTTP服务器的地址;
虚拟TCP连接建立子模块,被配置为通过所述握手数据包与所述预设虚拟HTTP服务器建立虚拟TCP连接。
50.根据权利要求49所述的装置,其特征在于,所述地址获取子模块包括:
地址获取单元,被配置为从所述网络请求中提取所述虚拟HTTP服务器的地址;或者,
虚拟域名获取单元,被配置为获取所述网络请求中的虚拟域名;
地址解析单元,被配置为根据所述虚拟域名解析所述虚拟HTTP服务器的地址。
51.根据权利要求48所述的装置,其特征在于,所述虚拟连接建立模块,包括:
虚拟域名获取单元,被配置为获取网络请求中的虚拟域名;
IP地址解析单元,被配置为将所述虚拟域名解析为对应的虚拟IP地址;
握手数据获取单元,被配置为获取TCP握手数据包,所述TCP握手数据包中包括所述虚拟IP地址;
握手数据更新单元,被配置为将所述虚拟IP地址修改为所述虚拟HTTP服务器的地址,获得更新后的握手数据包;
虚拟TCP连接建立单元,被配置为通过所述更新后的握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
52.根据权利要求50或51所述的装置,其特征在于,所述虚拟域名获取单元,包括:
域名获取子单元,被配置为获取HTTP地址中的域名信息;
域名查询子单元,被配置为根据所述域名信息查询预设虚拟域名白名单;
虚拟域名确定子单元,被配置为在所述预设虚拟域名白名单中包括所述域名信息的情况下,确定所述域名信息属于所述虚拟域名。
53.根据权利要求46所述的装置,其特征在于,所述第一消息为携带有网页请求消息的目标网络请求;
所述第一消息获取模块,包括:
网络请求获取子模块,被配置为由操作系统获取网络请求;
特征识别子模块,被配置为确定所述网络请求中是否包括预设特征信息,所述预设特征信息用于标记当前网络请求属于虚拟网络请求;
目标请求确定子模块,被配置为在所述网络请求中包括所述预设特征信息的情况下,确定所述网络请求为所述目标网络请求。
54.根据权利要求53所述的装置,其特征在于,所述第二消息生成模块,包括:
消息解析子模块,被配置为解析所述目标网络请求,获得所述网页请求消息;
第二消息生成子模块,被配置为响应所述网页请求消息,获得所述网页请求消息对应的目标响应消息。
55.根据权利要求54所述的装置,其特征在于,所述消息解析子模块,包括:
目标请求发送单元,被配置为将所述目标网络请求发送给预设消息服务;
解析单元,被配置为通过所述消息服务解析所述目标网络请求,获得所述网页请求消息。
56.根据权利要求55所述的装置,其特征在于,所述目标请求发送单元,包括:
信息过滤子单元,被配置为过滤所述目标网络请求中的所述预设特征信息,获得过滤后的目标网络请求;
目标请求发送子单元,被配置为将所述过滤后的目标网络请求发送给所述预设消息服务。
57.根据权利要求55所述的装置,其特征在于,所述目标请求发送单元包括以下任一子单元:
请求转发子单元,被配置为通过预设监听组件将所述目标网络请求转发给所述消息服务;
请求复制子单元,被配置为通过所述预设监听组件复制所述目标网络请求,将复制的目标网络请求发送给所述消息服务;
请求中转子单元,被配置为通过所述预设监听组件将所述目标网络请求发送给所述虚拟服务器,由所述虚拟服务器将所述目标网络请求发送给所述消息服务。
58.根据权利要求57所述的装置,其特征在于,所述预设监听组件包括:防火墙组件。
59.根据权利要求55所述的装置,其特征在于,所述解析单元包括:
信息验证子单元,被配置为对所述目标网络请求进行信息验证;
消息解析子单元,被配置为对信息验证成功的有效网络请求进行解析,获得所述网页请求消息。
60.根据权利要求46所述的装置,其特征在于,所述第三消息发送模块,包括以下至少一个子模块:
第一特征设置子模块,被配置为在所述第二消息中添加预设特征序列;
第二特征设置子模块,被配置为在所述第二消息中添加预设关键字;
第三特征设置子模块,被配置为基于预设编码方式,对所述第二消息进行编码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811641268.8A CN109739662A (zh) | 2018-12-29 | 2018-12-29 | 通信方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811641268.8A CN109739662A (zh) | 2018-12-29 | 2018-12-29 | 通信方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109739662A true CN109739662A (zh) | 2019-05-10 |
Family
ID=66362507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811641268.8A Pending CN109739662A (zh) | 2018-12-29 | 2018-12-29 | 通信方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109739662A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108040095A (zh) * | 2017-12-04 | 2018-05-15 | 北京小米移动软件有限公司 | 通信方法、装置及电子设备 |
CN108063804A (zh) * | 2017-12-04 | 2018-05-22 | 北京小米移动软件有限公司 | 通信方法及装置 |
CN108139952A (zh) * | 2017-06-14 | 2018-06-08 | 北京小米移动软件有限公司 | 应用交互方法、交互方法及装置 |
CN108156221A (zh) * | 2017-12-04 | 2018-06-12 | 北京小米移动软件有限公司 | 通信方法、装置及电子设备 |
CN108279931A (zh) * | 2016-12-30 | 2018-07-13 | 谷歌有限责任公司 | 场境粘贴目标预测 |
CN108491282A (zh) * | 2018-03-28 | 2018-09-04 | 北京小米移动软件有限公司 | 网页和操作系统进行通信的方法和装置 |
CN108833585A (zh) * | 2018-07-03 | 2018-11-16 | 北京小米移动软件有限公司 | 信息交互方法、装置及存储介质 |
CN109005096A (zh) * | 2017-06-14 | 2018-12-14 | 北京小米移动软件有限公司 | 应用交互方法及装置 |
-
2018
- 2018-12-29 CN CN201811641268.8A patent/CN109739662A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108279931A (zh) * | 2016-12-30 | 2018-07-13 | 谷歌有限责任公司 | 场境粘贴目标预测 |
CN108139952A (zh) * | 2017-06-14 | 2018-06-08 | 北京小米移动软件有限公司 | 应用交互方法、交互方法及装置 |
CN109005096A (zh) * | 2017-06-14 | 2018-12-14 | 北京小米移动软件有限公司 | 应用交互方法及装置 |
CN108040095A (zh) * | 2017-12-04 | 2018-05-15 | 北京小米移动软件有限公司 | 通信方法、装置及电子设备 |
CN108063804A (zh) * | 2017-12-04 | 2018-05-22 | 北京小米移动软件有限公司 | 通信方法及装置 |
CN108156221A (zh) * | 2017-12-04 | 2018-06-12 | 北京小米移动软件有限公司 | 通信方法、装置及电子设备 |
CN108491282A (zh) * | 2018-03-28 | 2018-09-04 | 北京小米移动软件有限公司 | 网页和操作系统进行通信的方法和装置 |
CN108833585A (zh) * | 2018-07-03 | 2018-11-16 | 北京小米移动软件有限公司 | 信息交互方法、装置及存储介质 |
Non-Patent Citations (2)
Title |
---|
吴湘宁编著: "《CVT-PXA270-1嵌入式系统实验教程 2015年1月第1版》", 31 January 2015, 中国地质大学出版社 * |
张逸琴,等主编: "《大学计算机应用基础信息化教程 2018年9月第1版》", 30 September 2018, 北京理工大学出版社 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109005096A (zh) | 应用交互方法及装置 | |
CN110489626A (zh) | 一种信息采集方法和装置 | |
CN105245518B (zh) | 网址劫持的检测方法及装置 | |
CN108139952A (zh) | 应用交互方法、交互方法及装置 | |
CN104462570B (zh) | 网页内容获取方法及装置 | |
CN110399578A (zh) | 页面访问方法及装置 | |
CN109714425A (zh) | 通信方法及装置 | |
CN108958762A (zh) | 一种软件的升级方法和装置 | |
CN108156221A (zh) | 通信方法、装置及电子设备 | |
CN108390944A (zh) | 信息交互方法及装置 | |
CN108063804A (zh) | 通信方法及装置 | |
CN108040095A (zh) | 通信方法、装置及电子设备 | |
CN109003350A (zh) | 代维工作记录仪及工作方法 | |
CN110262904A (zh) | 数据采集方法及装置 | |
CN108205455B (zh) | 应用的功能实现方法及装置、终端 | |
CN113395364B (zh) | 一种应用服务器的访问方法及终端 | |
EP3506599B1 (en) | Method for synchronizing contact information, apparatus and medium | |
CN109525652A (zh) | 信息分享方法、装置、设备和存储介质 | |
CN109218375A (zh) | 应用交互方法及装置 | |
CN102368849A (zh) | 智能手机通讯录通过网络进行状态更新的系统及方法 | |
CN104378425B (zh) | 移动终端和web终端之间互连及同步通讯信息的方法 | |
CN109218275A (zh) | 应用交互方法及装置 | |
CN109739662A (zh) | 通信方法及装置 | |
CN110427512A (zh) | 表情图案发送方法、装置、电子设备和存储介质 | |
CN109218374A (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 |