CN109947582A - 浏览器与本地应用程序的交互方法、设备及可读存储介质 - Google Patents
浏览器与本地应用程序的交互方法、设备及可读存储介质 Download PDFInfo
- Publication number
- CN109947582A CN109947582A CN201910251846.5A CN201910251846A CN109947582A CN 109947582 A CN109947582 A CN 109947582A CN 201910251846 A CN201910251846 A CN 201910251846A CN 109947582 A CN109947582 A CN 109947582A
- Authority
- CN
- China
- Prior art keywords
- browser
- local application
- service routine
- local
- exchange method
- 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
本发明公开了一种浏览器与本地应用程序的交互方法、设备及可读存储介质,所述方法包括:服务程序接收浏览器发送的调用本地应用程序的调用指令,其中,所述服务程序与所述浏览器预先建立网络套接字websocket连接;解析所述调用指令,以确定与所述调用指令对应的目标本地应用程序和目标任务;调用所述目标本地应用程序执行所述目标任务。本发明实现了浏览器通过服务程序间接调用本地应用程序,而无需通过浏览器插件来调用本地应用程序;且服务程序的运行不需要基于特定的浏览器,从而能够实现兼容不同的浏览器。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种浏览器与本地应用程序的交互 方法、设备及可读存储介质。
背景技术
在实际应用中,由于安全性的限制,终端中的浏览器是不能直接和终端 本地应用程序、本地硬件通信的。为实现浏览器调用本地应用程序,目前采 用的方案是开发浏览器插件,用户在终端中安装信任的插件,浏览器通过插 件来调用本地应用程序。但是,插件一般是针对特定浏览器开发的,如Activex 插件只能在IE浏览器下使用。因此,目前存在用于调用本地应用程序的插件 不能兼容多个浏览器的问题。
发明内容
本发明的主要目的在于提供一种浏览器与本地应用程序的交互方法、装 置、设备及计算机可读存储介质,旨在解决目前存在的用于调用本地应用的 插件不能兼容多个浏览器的技术问题。
为实现上述目的,本发明提供一种浏览器与本地应用程序的交互方法, 所述浏览器与本地应用程序的交互方法应用于安装有服务程序和浏览器的终 端,所述浏览器与本地应用程序的交互方法包括以下步骤:
服务程序接收浏览器发送的调用本地应用程序的调用指令,其中,所述 服务程序与所述浏览器预先建立网络套接字websocket连接;
解析所述调用指令,以确定与所述调用指令对应的目标本地应用程序和 目标任务;
调用所述目标本地应用程序执行所述目标任务。
可选地,所述调用所述目标本地应用程序执行所述目标任务的步骤之后, 还包括:
获取所述目标本地应用程序返回的执行结果;
将所述执行结果按照websocket协议发送给所述浏览器。
可选地,所述接收浏览器发送的调用本地应用程序的调用指令的步骤之 前,还包括:
接收所述浏览器基于本地IP地址和服务程序端口发送的websocket连接 请求;
响应所述websocket连接请求,与所述浏览器建立websocket连接。
可选地,所述接收浏览器基于本地IP地址和服务程序端口发送的 websocket连接请求的步骤之前,还包括:
监听预设固定端口;
所述接收所述浏览器基于本地IP地址和服务程序端口发送的websocket 连接请求的步骤包括:
接收所述浏览器基于本地IP地址和所述预设固定端口发送的websocket 连接请求。
可选地,所述接收浏览器基于本地IP地址和服务程序端口发送的 websocket连接请求的步骤之前,还包括:
在所述服务程序启动过程中若扫描到本地可用端口,则监听所述本地可 用端口;
调用所述浏览器打开目标站点,并将所述本地可用端口写入所述目标站 点对应的网址中,以供所述浏览器获取所述本地可用端口;
所述接收所述浏览器基于本地IP地址和服务程序端口发送的websocket 连接请求的步骤包括:
接收所述浏览器基于本地IP地址和所述本地可用端口发送的websocket 连接请求。
此外,为实现上述目的,本发明还提供一种浏览器与本地应用程序的交 互方法,所述浏览器与本地应用程序的交互方法应用于安装有服务程序和浏 览器程序的终端,所述浏览器与本地应用程序的交互方法包括以下步骤:
浏览器检测调用目标本地应用程序的操作事件;
向预先建立网络套接字websocket连接的服务程序发送与所述操作事件 对应的调用本地应用程序的调用指令,以供所述服务程序调用与所述调用指 令对应的目标本地应用程序执行与所述调用指令对应的目标任务。
可选地,所述向预先建立websocket连接的服务程序发送与所述操作事件 对应的调用本地应用程序的调用指令的步骤之前,还包括:
获取本地IP地址和服务程序端口;
基于所述本地IP地址和所述服务程序端口向所述服务程序发送 websocket连接请求,以与所述服务程序建立websocket连接。
可选地,所述向预先建立websocket连接的服务程序发送与所述操作事件 对应的调用本地应用程序的调用指令的步骤之后,还包括:
接收所述服务程序按照websocket协议发送的执行结果;
向服务器获取与所述执行结果对应的内容并显示。
此外,为实现上述目的,本发明还提供一种浏览器与本地应用程序的交 互设备,所述浏览器与本地应用程序的交互设备包括存储器、处理器和存储 在所述存储器上的服务程序和浏览器程序,所述服务程序和浏览器程序被所 述处理器执行时实现如上所述的浏览器与本地应用程序的交互方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述 计算机可读存储介质上存储有服务程序和浏览器程序,所述服务程序和浏览 器程序被处理器执行时实现如上所述的浏览器与本地应用程序的交互方法的 步骤。
本发明中,通过服务程序与浏览器预先建立websocket连接,服务程序接 收浏览器发送的调用本地应用程序的调用指令,服务程序解析该调用指令, 确定与该调用指令对应的目标本地应用程序和目标任务,服务程序调用该目 标本地应用程序执行该目标任务,实现了浏览器通过服务程序间接调用本地 应用程序,而无需通过浏览器插件来调用本地应用程序;且服务程序的运行 不需要基于特定的浏览器,从而能够实现兼容不同的浏览器。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的结构示意图;
图2为本发明浏览器与本地应用程序的交互方法第一实施例的流程示意 图;
图3为本发明浏览器与本地应用程序的交互方法第二实施例的流程示意 图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步 说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限 定本发明。
本发明提供了一种浏览器与本地应用程序的交互设备,参照图1,图1是 本发明实施例方案涉及的硬件运行环境的结构示意图。
需要说明的是,图1即可为浏览器与本地应用程序的交互设备的硬件运 行环境的结构示意图。本发明实施例浏览器与本地应用程序的交互设备可以 是PC,也可以是智能手机、智能电视机、平板电脑、便携计算机等具有显示 功能的终端设备。
如图1所示,该浏览器与本地应用程序的交互设备可以包括:处理器1001, 例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其 中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包 括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还 可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的 有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器, 也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005 可选的还可以是独立于前述处理器1001的存储装置。
可选地,浏览器与本地应用程序的交互设备还可以包括摄像头、RF(RadioFrequency,射频)电路,传感器、音频电路、WiFi模块等等。本领域技术人 员可以理解,图1中示出的浏览器与本地应用程序的交互设备结构并不构成对 浏览器与本地应用程序的交互设备的限定,可以包括比图示更多或更少的部 件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系 统、网络通信模块、用户接口模块、服务程序和浏览器程序。
在图1所示的浏览器与本地应用程序的交互设备中,网络接口1004主要 用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于 连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调 用存储器1005中存储的服务程序,并执行以下操作:
接收浏览器发送的调用本地应用程序的调用指令,其中,所述服务程序 与所述浏览器预先建立网络套接字websocket连接;
解析所述调用指令,以确定与所述调用指令对应的目标本地应用程序和 目标任务;
调用所述目标本地应用程序执行所述目标任务。
进一步地,所述调用所述目标本地应用程序执行所述目标任务的步骤之 后,处理器1001可以调用存储器1005中存储的服务程序,还执行以下操作:
获取所述目标本地应用程序返回的执行结果;
将所述执行结果按照websocket协议发送给所述浏览器。
进一步地,所述接收浏览器发送的调用本地应用程序的调用指令的步骤 之前,处理器1001可以调用存储器1005中存储的服务程序,还执行以下操 作:
接收所述浏览器基于本地IP地址和服务程序端口发送的websocket连接 请求;
响应所述websocket连接请求,与所述浏览器建立websocket连接。
进一步地,所述接收浏览器基于本地IP地址和服务程序端口发送的 websocket连接请求的步骤之前,处理器1001可以调用存储器1005中存储的 服务程序,还执行以下操作:
监听预设固定端口;
所述接收所述浏览器基于本地IP地址和服务程序端口发送的websocket 连接请求的步骤包括:
接收所述浏览器基于本地IP地址和所述预设固定端口发送的websocket 连接请求。
进一步地,所述接收浏览器基于本地IP地址和服务程序端口发送的 websocket连接请求的步骤之前,处理器1001可以调用存储器1005中存储的 服务程序,还执行以下操作:
在所述服务程序启动过程中若扫描到本地可用端口,则监听所述本地可 用端口;
调用所述浏览器打开目标站点,并将所述本地可用端口写入所述目标站 点对应的网址中,以供所述浏览器获取所述本地可用端口;
所述接收所述浏览器基于本地IP地址和服务程序端口发送的websocket 连接请求的步骤包括:
接收所述浏览器基于本地IP地址和所述本地可用端口发送的websocket 连接请求。
进一步地,处理器1001可以用于调用存储器1005中存储的浏览器程序, 并执行以下操作:
检测调用目标本地应用程序的操作事件;
向预先建立网络套接字websocket连接的服务程序发送与所述操作事件 对应的调用本地应用程序的调用指令,以供所述服务程序调用与所述调用指 令对应的目标本地应用程序执行与所述调用指令对应的目标任务。
进一步地,所述向预先建立websocket连接的服务程序发送与所述操作事 件对应的调用本地应用程序的调用指令的步骤之前,处理器1001可以调用存 储器1005中存储的浏览器程序,还执行以下操作:
获取本地IP地址和服务程序端口;
基于所述本地IP地址和所述服务程序端口向所述服务程序发送 websocket连接请求,以与所述服务程序建立websocket连接。
进一步地,其特征在于,所述浏览器向预先建立websocket连接的服务程 序发送与所述操作事件对应的调用本地应用程序的调用指令的步骤之后,处 理器1001可以调用存储器1005中存储的浏览器程序,还执行以下操作:
接收所述服务程序按照websocket协议发送的执行结果;
向服务器获取与所述执行结果对应的内容并显示。
基于上述的硬件结构,提出本发明浏览器与本地应用程序的交互方法的 各个实施例。
参照图2,本发明浏览器与本地应用程序的交互方法第一实施例提供一种 浏览器与本地应用程序的交互方法,需要说明的是,虽然在流程图中示出了 逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述 的步骤。所述浏览器与本地应用程序的交互方法包括:
步骤S1,服务程序接收浏览器发送的调用本地应用程序的调用指令,其 中,所述服务程序与所述浏览器预先建立网络套接字websocket连接;
在本实施例中,服务程序与浏览器程序(以下简称浏览器)安装在同一 终端上。其中,服务程序是能够提供websocket(网络套接字)服务的程序。 websocket是基于TCP(Transmission Control Protocol,传输控制协议)的一种 网络协议,它能够实现浏览器与服务器的全双工(full-duplex)通信,也即允许 服务器主动发送信息给客户端,并且websocket没有同源限制,客户端可以与 任意服务器通信。在本实施例中,服务程序能够提供websocket服务,因此服 务程序可看作是与浏览器按照websocket协议进行通信的服务器。
服务程序预先与浏览器建立websocket连接后,服务程序与浏览器之间即 可按照与websocket连接对应的websocket协议进行通信。本地应用程序是指 安装在终端本地的应用程序,如摄像头控制程序、扫描仪控制程序或打印机 控制程序等。在本实施例中,浏览器可显示与本地应用程序对应的控件供用 户操作,用户操作控件触发调用目标本地应用程序的操作事件,浏览器基于 该调用目标本地应用程序的操作事件,按照websocket协议向服务程序发送调 用本地应用程序的调用指令。该调用指令中可携带目标本地应用程序的标识, 以及预先定义的目标任务的任务标识,目标本地应用程序的标识用以指示服 务程序要调用目标本地应用程序,目标任务的任务标识用以指示服务程序调 用目标本地应用程序执行目标任务。服务程序接收浏览器发送的调用本地应 用程序的调用指令。
例如,浏览器可显示与扫描仪对应的控件,用户通过操作该扫描仪对应 的控件,触发调用本地扫描仪控制程序的操作事件,浏览器基于该调用本地 扫描仪控制程序的操作事件,按照websocket协议向服务程序发送调用本地应 用程序的调用指令,该调用指令中可携带扫描仪控制程序的标识、预设的与 扫描文件任务对应的标识以及将扫描到的文件上传至服务器的任务对应的标 识。
步骤S2,解析所述调用指令,以确定与所述调用指令对应的目标本地应 用程序和目标任务;
服务程序接收到浏览器发送的调用本地应用程序的调用指令后,解析该 调用指令,确定与该调用指令对应的目标本地应用程序和目标任务。具体地, 服务程序可从该调用指令中提取本地应用程序的标识,根据该标识对应确定 要调用的目标本地应用程序;从该调用指令中提取任务标识,根据预先设置 的任务与任务标识的对应关系,确定要执行的目标任务。如当该调用指令指 示服务程序调用本地扫描仪控制程序,控制本地扫描仪扫描文件并将扫描到 的文件上传至服务器时,服务程序从该调用指令中提取到扫描仪控制程序的 标识,即确定目标本地应用程序是扫描仪控制程序,从该本地应用程序中提 取到任务标识,根据预先设置的任务与任务标识的对应关系,确定目标任务 为控制本地扫描仪扫描文件以及将扫描到的文件上传至服务器。
步骤S3,调用所述目标本地应用程序执行所述目标任务。
服务程序在确定目标本地应用程序和目标任务后,调用该目标本地应用 程序执行该目标任务。如服务程序调用扫描仪控制程序,以使扫描仪控制程 序驱动本地扫描仪扫描文件,当扫描仪控制程序检测到扫描文件完毕后,扫 描仪控制程序将扫描到的文件上传至服务器。
进一步地,所述步骤S3之后,包括:
步骤a,获取所述目标本地应用程序返回的执行结果;
服务程序在调用目标本地应用程序执行目标任务后,目标本地应用程序 可向服务程序返回执行目标任务的执行结果。如扫描仪控制程序可以将扫描 文件上传服务器的结果返回给服务程序,此时返回的执行结果可以是上传成 功或者是上传失败。
步骤b,将所述执行结果按照websocket协议发送给所述浏览器。
服务程序可将获取到的执行结果按照websocket协议发送给浏览器,以供 浏览器接收到执行结果后,向服务器获取与该执行结果对应的内容并显示, 从而实现了浏览器与本地应用程序的交互。
在本实施例中,浏览器虽然不能直接调用本地应用程序,但是能够与提 供websocket服务的服务程序建立连接,通过浏览器向服务程序发送调用本地 应用的调用指令,由服务程序解析该调用指令,调用目标本地应用程序执行 目标任务,实现了浏览器通过服务程序间接调用本地应用程序,而无需通过 浏览器插件来调用本地应用程序;且服务程序的运行不需要基于特定的浏览 器,从而能够实现兼容不同的浏览器。
进一步的,基于上述第一实施例,本发明浏览器与本地应用程序的交互 方法第二实施例提供一种浏览器与本地应用程序的交互方法。参照图3,在本 实施例中,步骤S1之前,包括:
步骤S4,接收所述浏览器基于本地IP地址和服务程序端口发送的 websocket连接请求;
浏览器在需要与服务程序通信时,可获取本地IP地址和服务程序端口。 其中,本地IP地址即浏览器和服务程序所在终端对应的IP地址;服务程序端 口为终端中服务程序所占用和监听的接口,服务程序端口可以是预先为服务 程序设置的一个固定端口,也可以是服务程序在启动时扫描到的本地可用端 口。浏览器基于本地IP地址和服务程序端口向服务程序发送websocket连接 请求,具体地,在发送的websocket连接请求中可携带本地IP地址和服务程 序端口,本地IP地址用于定位到服务程序所在的终端,服务程序端口用于定位到终端中的服务程序。服务程序监听该服务程序端口,接收浏览器基于本 地IP地址和服务程序端口发送的websocket连接请求。
步骤S5,响应所述websocket连接请求,与所述浏览器建立websocket 连接。
服务程序接收到该websocket连接请求后,可响应该websocket连接请求, 如向浏览器发送一个确认连接的信息,浏览器接收到该确认连接的信息后, 服务程序与浏览器之间建立起websocket连接,并可按照websocket协议进行 相互通信。
在本实施例中,通过服务程序预先与浏览器建立websocket连接,使得服 务程序能够接收浏览器发送的调用本地应用程序的调用指令,从而实现了浏 览器通过服务程序间接调用本地应用程序,而无需通过浏览器插件来调用本 地应用程序。
进一步的,基于上述第一或第二实施例,本发明浏览器与本地应用 程序的交互方法第三实施例提供一种浏览器与本地应用程序的交互方 法。在本实施例中,所述步骤S4之前包括:
步骤c,监听预设固定端口;
服务程序在启动后,可监听预设固定端口。其中,预设固定端口为预先 设置的一个固定端口,该固定端口只能被该服务程序占用,终端中安装的其 他应用程序均不允许占用该固定端口,可将很少被应用程序占用的端口设置 为服务程序的固定端口。浏览器中也设置有该服务程序的预设固定端口,浏 览器基于本地IP地址和该预设固定端口向服务程序发送信息。
所述步骤S4包括:
步骤d,接收所述浏览器基于本地IP地址和所述预设固定端口发送的 websocket连接请求。
浏览器获取本地IP地址和预设固定端口,基于本地IP地址和预设固定端 口,按照websocket协议,向服务程序发送websocket连接请求。服务程序接 收浏览器基于本地IP地址和该预设固定端口发送的websocket连接请求。
在本实施例中,通过服务程序监听预设固定端口,浏览器基于本地IP地 址和预设固定端口向服务程序发送websocket连接请求,使得浏览器与服务程 序能够快速建立连接,从而提高了浏览器调用本地应用程序的效率。
进一步的,基于上述第一、第二或第三实施例,本发明浏览器与本 地应用程序的交互方法第四实施例提供一种浏览器与本地应用程序的 交互方法。在本实施例中,所述步骤S4之前,包括:
步骤e,在所述服务程序启动过程中若扫描到本地可用端口,则监听所述 本地可用端口;
服务程序在启动过程中可扫描本地可用端口,即扫描本地未被其他应用 程序占用的端口。进一步地,可以是若预先设置了服务程序的固定端口,则 服务程序可优先使用该预设的固定端口,若未设置服务程序的固定端口,则 服务程序可扫描本地可用端口。若服务程序扫描到本地可用端口,则监听该 本地可用端口,即占用该本地可用端口。
步骤f,调用所述浏览器打开目标站点,并将所述本地可用端口写入所述 目标站点对应的网址中,以供所述浏览器获取所述本地可用端口;
服务程序调用浏览器打开目标站点,其中,目标站点可以是预设的一个 固定的站点。服务程序在调用浏览器打开目标站点的过程中,可以将该本地 可用端口写入该目标站点对应的网址中,具体地可以将该本地可用端口写入 该目标站点对应的URL(UniformResource Locator,统一资源定位符)中, 如当服务程序扫描到的本地可用端口是8088时,可在URL中加入“? port=8088”,将本地可用端口以参数的形式传递给浏览器。浏览器通过该目标 站点对应的网址获取该本地可用端口。浏览器获取到该本地可用端口后,可 在需要与服务程序建立连接时,获取本地IP地址,基于本地IP地址和获取到 的该本地可用端口,向服务程序发送websocket连接请求。
所述步骤S4包括:
步骤g,接收所述浏览器基于本地IP地址和所述本地可用端口发送的 websocket连接请求。
服务程序监听该本地可用端口,接收浏览器基于本地IP地址和该预设固 定端口发送的websocket连接请求。
进一步地,可将第三实施例中设置服务程序的固定端口的方案,与本实 施例中服务程序扫描本地可用端口的方案结合。结合的方式可以是:预先设 置服务程序的固定端口,即预设固定端口。服务程序在启动过程中,检测该 预设固定端口是否被其他应用程序占用。若检测到该预设固定端口未被其他 应用程序占用,则服务程序占用该预设固定端口,并监听该预设固定端口, 浏览器基于本地IP地址和该预设固定端口与服务程序进行连接通信。若检测 到该预设固定端口被其他应用程序占用,则服务程序扫描本地可用端口,若 扫描到本地可用端口,则监听该本地可用端口,并将该本地可用端口通过写 入目标站点对应网站的方式传递给浏览器,浏览器基于本地IP地址和该本地 可用端口与服务程序进行连接通信。
在本实施例中,通过服务程序在启动时扫描本地可用端口,若扫描到本 地可用端口,则监听该本地可用端口,并将该本地可用端口通过写入目标站 点对应网址的方式传递给浏览器,使得浏览器与服务程序能够快速建立连接, 从而提高了浏览器调用本地应用程序的效率。
进一步的,基于上述第一、第二、第三或第四实施例,本发明浏览器与 本地应用程序的交互方法第五实施例提供一种浏览器与本地应用程序的交互 方法,在本实施例中,所述浏览器与本地应用程序的交互方法包括:
步骤h,浏览器检测调用目标本地应用程序的操作事件;
在本实施例中,服务程序与浏览器安装在同一终端上。浏览器可显示与 本地应用程序对应的控件供用户操作,用户操作控件触发调用目标本地应用 程序的操作事件。浏览器检测用户触发的调用目标本地应用程序的操作事件。 如浏览器中可显示与扫描仪控制程序对应的控件,当用户需要在浏览器中使 用扫描仪扫描文件时,可操作该扫描仪控制程序对应的控件,触发调用扫描 仪控制程序的操作事件。
步骤i,向预先建立网络套接字websocket连接的服务程序发送与所述操 作事件对应的调用本地应用程序的调用指令,以供所述服务程序调用与所述 调用指令对应的目标本地应用程序执行与所述调用指令对应的目标任务。
浏览器可预先与服务程序建立websocket连接,按照websocket协议进行 通信。浏览器在检测到调用本地应用程序的操作事件后,可向预先建立 websocket连接的服务程序发送与该操作事件对应的调用本地应用程序的调用 指令,该调用指令中可携带目标本地应用程序的标识,和预设的目标任务的 标识。如当浏览器中显示有“扫描并上传”控件时,用户基于该控件触发调用扫 描仪控制程序的操作事件,浏览器根据该操作事件发送的调用本地应用程序 的调用指令中,可携带扫描仪控制程序的标识,以及预设的扫描文件和上传 扫描文件对应的标识。
浏览器将该调用指令发送给服务程序,由服务程序解析该调用指令,确 定与该调用指令对应的目标本地应用程序和目标任务,并由服务程序调用目 标本地应用程序执行目标任务,将执行结果返回给浏览器。
在本实施例中,通过浏览器与服务程序预先建立websocket连接,浏览器 发送调用本地应用程序的调用指令给服务程序,由服务程序调用本地应用程 序执行任务,实现了浏览器能够通过服务程序间接与本地应用程序进行交互, 而无需通过浏览器插件来调用本地应用程序;且服务程序的运行不需要基于 特定的浏览器,从而能够实现兼容不同的浏览器。
进一步地,为实现浏览器与服务程序快速建立连接,提高浏览器调用本 地应用程序的效率,所述步骤i之前,还包括:
步骤j,获取本地IP地址和服务程序端口;
在浏览器向服务程序发送调用本地应用程序的调用指令之前,可先获取 本地IP地址和服务程序端口。其中,服务程序端口可以是预设固定端口,也 可以是当服务程序调用浏览器打开目标站点,将本地可用端口写入目标站点 对应的网址时,浏览器获取到的本地可用端口。进一步地,可以是若浏览器 获取到服务程序传递的本地可用端口,则使用该本地可用端口,若未获取到 服务程序传递的本地可用端口,则使用预设固定端口。
步骤k,基于所述本地IP地址和所述服务程序端口向所述服务程序发送websocket连接请求,以与所述服务程序建立websocket连接。
浏览器获取到本地IP和服务程序端口后,基于本地IP和服务程序端口, 按照websocket协议,向服务程序发送websocket连接请求,在接收到服务程 序返回确认连接的信息后,与服务程序建立起websocket连接,进而按照 websocket协议进行通信。
进一步地,步骤i之后,还包括:
步骤l,接收所述服务程序按照websocket协议发送的执行结果;
浏览器向服务程序发送调用本地应用程序的调用指令后,服务程序根据 该调用指令调用目标本地应用程序执行目标任务后,将执行结果按照 websocket协议发送给浏览器,浏览器接收服务程序发送的执行结果。如,当 服务程序调用扫描仪控制程序,控制本地扫描仪扫描文件,并将扫描到的文 件上传至服务器时,执行结果可以是上传成功或上传失败。
步骤m,向服务器获取与所述执行结果对应的内容并显示。
浏览器向服务器获取执行结果对应的内容并显示。如当执行结果为上传 成功时,浏览器向服务器获取上传成功的文件,并将文件内容显示,以供用 户在浏览器中查看到扫描仪扫描并上传成功的文件。当执行结果为上传失败 时,浏览器可向服务器获取上传失败的原因,并显示该上传失败的原因,以 供用户获知扫描文件上传失败的原因。
在本实施例中,通过浏览器接收服务程序发送的执行结果,向服务器获 取与执行结果对应的内容并显示,实现了为用户展示浏览器调用本地应用程 序的结果,丰富了浏览器的用户交互性能。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读 存储介质上存储有服务程序和浏览器程序,所述服务程序和浏览器程序被处 理器执行时实现如上所述浏览器与本地应用程序的交互方法的步骤。
本发明浏览器与本地应用程序的交互设备和计算机可读存储介质的具体 实施方式的拓展内容与上述浏览器与本地应用程序的交互方法各实施例基本 相同,在此不做赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在 涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系 统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括 为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下, 由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物 品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述 实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通 过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的 技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、 磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机, 服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是 利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间 接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种浏览器与本地应用程序的交互方法,其特征在于,所述浏览器与本地应用程序的交互方法应用于安装有服务程序和浏览器的终端,所述浏览器与本地应用程序的交互方法包括以下步骤:
服务程序接收浏览器发送的调用本地应用程序的调用指令,其中,所述服务程序与所述浏览器预先建立网络套接字websocket连接;
解析所述调用指令,以确定与所述调用指令对应的目标本地应用程序和目标任务;
调用所述目标本地应用程序执行所述目标任务。
2.如权利要求1所述的浏览器与本地应用程序的交互方法,其特征在于,所述调用所述目标本地应用程序执行所述目标任务的步骤之后,还包括:
获取所述目标本地应用程序返回的执行结果;
将所述执行结果按照websocket协议发送给所述浏览器。
3.如权利要求1所述的浏览器与本地应用程序的交互方法,其特征在于,所述接收浏览器发送的调用本地应用程序的调用指令的步骤之前,还包括:
接收所述浏览器基于本地IP地址和服务程序端口发送的websocket连接请求;
响应所述websocket连接请求,与所述浏览器建立websocket连接。
4.如权利要求3所述的浏览器与本地应用程序的交互方法,其特征在于,所述接收浏览器基于本地IP地址和服务程序端口发送的websocket连接请求的步骤之前,还包括:
监听预设固定端口;
所述接收所述浏览器基于本地IP地址和服务程序端口发送的websocket连接请求的步骤包括:
接收所述浏览器基于本地IP地址和所述预设固定端口发送的websocket连接请求。
5.如权利要求3所述的浏览器与本地应用程序的交互方法,其特征在于,所述接收浏览器基于本地IP地址和服务程序端口发送的websocket连接请求的步骤之前,还包括:
在所述服务程序启动过程中若扫描到本地可用端口,则监听所述本地可用端口;
调用所述浏览器打开目标站点,并将所述本地可用端口写入所述目标站点对应的网址中,以供所述浏览器获取所述本地可用端口;
所述接收所述浏览器基于本地IP地址和服务程序端口发送的websocket连接请求的步骤包括:
接收所述浏览器基于本地IP地址和所述本地可用端口发送的websocket连接请求。
6.一种浏览器与本地应用程序的交互方法,其特征在于,所述浏览器与本地应用程序的交互方法应用于安装有服务程序和浏览器程序的终端,所述浏览器与本地应用程序的交互方法包括以下步骤:
浏览器检测调用目标本地应用程序的操作事件;
向预先建立网络套接字websocket连接的服务程序发送与所述操作事件对应的调用本地应用程序的调用指令,以供所述服务程序调用与所述调用指令对应的目标本地应用程序执行与所述调用指令对应的目标任务。
7.如权利要求6所述的浏览器与本地应用程序的交互方法,其特征在于,所述向预先建立websocket连接的服务程序发送与所述操作事件对应的调用本地应用程序的调用指令的步骤之前,还包括:
获取本地IP地址和服务程序端口;
基于所述本地IP地址和所述服务程序端口向所述服务程序发送websocket连接请求,以与所述服务程序建立websocket连接。
8.如权利要求6和7任一项所述的浏览器与本地应用程序的交互方法,其特征在于,所述向预先建立websocket连接的服务程序发送与所述操作事件对应的调用本地应用程序的调用指令的步骤之后,还包括:
接收所述服务程序按照websocket协议发送的执行结果;
向服务器获取与所述执行结果对应的内容并显示。
9.一种浏览器与本地应用程序的交互设备,其特征在于,所述浏览器与本地应用程序的交互设备包括存储器、处理器和存储在所述存储器上的服务程序和浏览器程序,所述服务程序被所述处理器执行时,实现如权利要求1至5中任一项所述的浏览器与本地应用程序的交互方法的步骤,所述浏览器程序被所述处理器执行时,实现如权利要求6至8中任一项所述的浏览器与本地应用程序的交互方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有服务程序和浏览器程序,所述服务程序被处理器执行时,实现如权利要求1至5中任一项所述的浏览器与本地应用程序的交互方法的步骤,所述浏览器程序被处理器执行时,实现如权利要求6至8中任一项所述的浏览器与本地应用程序的交互方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910251846.5A CN109947582A (zh) | 2019-03-29 | 2019-03-29 | 浏览器与本地应用程序的交互方法、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910251846.5A CN109947582A (zh) | 2019-03-29 | 2019-03-29 | 浏览器与本地应用程序的交互方法、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109947582A true CN109947582A (zh) | 2019-06-28 |
Family
ID=67012356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910251846.5A Pending CN109947582A (zh) | 2019-03-29 | 2019-03-29 | 浏览器与本地应用程序的交互方法、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109947582A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309476A (zh) * | 2019-07-05 | 2019-10-08 | 上海中通吉网络技术有限公司 | 网页浏览器调用本地应用程序的方法及装置 |
CN110852259A (zh) * | 2019-11-08 | 2020-02-28 | 深圳前海微众银行股份有限公司 | 活体识别方法、***、装置、设备及计算机可读存储介质 |
CN111061976A (zh) * | 2019-12-31 | 2020-04-24 | 哈尔滨海能达科技有限公司 | 浏览器的对象展示方法及装置 |
CN112217711A (zh) * | 2020-09-14 | 2021-01-12 | 武汉理工大学 | 一种微信客户端调用本地功能的方法及*** |
CN112860336A (zh) * | 2021-01-26 | 2021-05-28 | 重庆广播电视大学重庆工商职业学院 | 一种Web应用的文件扫描预览与文件上传方法 |
CN114253878A (zh) * | 2021-11-22 | 2022-03-29 | 航天信息股份有限公司广州航天软件分公司 | 一种浏览器接入外设的通用方法和装置 |
CN114268657A (zh) * | 2021-12-24 | 2022-04-01 | 北京天威诚信电子商务服务有限公司 | 一种浏览器应用和本地应用间建立ssl_tls通信的方法及*** |
CN114938417A (zh) * | 2022-05-12 | 2022-08-23 | 安徽声讯信息技术有限公司 | 一种面向网页的高拍仪图像采集***及图像采集方法 |
CN114968015A (zh) * | 2022-05-18 | 2022-08-30 | 北京眼神智能科技有限公司 | 一种信息交互、控制网络通信模块的方法、装置及介质 |
CN115328576A (zh) * | 2022-09-03 | 2022-11-11 | 郭云开 | 一种浏览器加载插件的装置和方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431713A (zh) * | 2007-11-09 | 2009-05-13 | ***通信集团公司 | 一种资源访问方法及设备 |
US20140095870A1 (en) * | 2012-09-28 | 2014-04-03 | Prashant Dewan | Device, method, and system for controlling access to web objects of a webpage or web-browser application |
CN103914453A (zh) * | 2012-12-31 | 2014-07-09 | 联想(北京)有限公司 | 本地资源访问方法、本地资源访问装置和电子设备 |
CN105407150A (zh) * | 2015-10-31 | 2016-03-16 | 苏浩强 | 应用程序远程控制方法 |
CN106899455A (zh) * | 2017-03-07 | 2017-06-27 | 广州优视网络科技有限公司 | 一种客户端与网页交互的方法和装置 |
-
2019
- 2019-03-29 CN CN201910251846.5A patent/CN109947582A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431713A (zh) * | 2007-11-09 | 2009-05-13 | ***通信集团公司 | 一种资源访问方法及设备 |
US20140095870A1 (en) * | 2012-09-28 | 2014-04-03 | Prashant Dewan | Device, method, and system for controlling access to web objects of a webpage or web-browser application |
CN103914453A (zh) * | 2012-12-31 | 2014-07-09 | 联想(北京)有限公司 | 本地资源访问方法、本地资源访问装置和电子设备 |
CN105407150A (zh) * | 2015-10-31 | 2016-03-16 | 苏浩强 | 应用程序远程控制方法 |
CN106899455A (zh) * | 2017-03-07 | 2017-06-27 | 广州优视网络科技有限公司 | 一种客户端与网页交互的方法和装置 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309476A (zh) * | 2019-07-05 | 2019-10-08 | 上海中通吉网络技术有限公司 | 网页浏览器调用本地应用程序的方法及装置 |
CN110852259A (zh) * | 2019-11-08 | 2020-02-28 | 深圳前海微众银行股份有限公司 | 活体识别方法、***、装置、设备及计算机可读存储介质 |
CN111061976B (zh) * | 2019-12-31 | 2023-08-08 | 哈尔滨海能达科技有限公司 | 浏览器的对象展示方法及装置 |
CN111061976A (zh) * | 2019-12-31 | 2020-04-24 | 哈尔滨海能达科技有限公司 | 浏览器的对象展示方法及装置 |
CN112217711A (zh) * | 2020-09-14 | 2021-01-12 | 武汉理工大学 | 一种微信客户端调用本地功能的方法及*** |
CN112860336A (zh) * | 2021-01-26 | 2021-05-28 | 重庆广播电视大学重庆工商职业学院 | 一种Web应用的文件扫描预览与文件上传方法 |
CN114253878A (zh) * | 2021-11-22 | 2022-03-29 | 航天信息股份有限公司广州航天软件分公司 | 一种浏览器接入外设的通用方法和装置 |
CN114268657A (zh) * | 2021-12-24 | 2022-04-01 | 北京天威诚信电子商务服务有限公司 | 一种浏览器应用和本地应用间建立ssl_tls通信的方法及*** |
CN114268657B (zh) * | 2021-12-24 | 2024-05-24 | 北京天威诚信电子商务服务有限公司 | 一种浏览器应用和本地应用间建立ssl_tls通信的方法及*** |
CN114938417A (zh) * | 2022-05-12 | 2022-08-23 | 安徽声讯信息技术有限公司 | 一种面向网页的高拍仪图像采集***及图像采集方法 |
CN114938417B (zh) * | 2022-05-12 | 2023-10-17 | 安徽声讯信息技术有限公司 | 一种面向网页的高拍仪图像采集***及图像采集方法 |
CN114968015A (zh) * | 2022-05-18 | 2022-08-30 | 北京眼神智能科技有限公司 | 一种信息交互、控制网络通信模块的方法、装置及介质 |
CN115328576A (zh) * | 2022-09-03 | 2022-11-11 | 郭云开 | 一种浏览器加载插件的装置和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109947582A (zh) | 浏览器与本地应用程序的交互方法、设备及可读存储介质 | |
US8572232B2 (en) | Image display apparatus and control method | |
EP1546881B1 (en) | Method for remote servicing of embedded devices | |
KR100892825B1 (ko) | 휴대형 전자장치, 콘텐츠정보 서버, 콘텐츠 리스트제공방법 및 기록매체 | |
CN108513154A (zh) | 基于智能电视的智能家居控制方法、智能电视及存储介质 | |
KR20070004522A (ko) | 셀룰러 시스템용 다이나믹 분할 포탈 베이스 어플리케이션서비스 네트워크 토포로지 | |
US8738687B2 (en) | Communication system having management apparatus and user apparatus, management apparatus, user apparatus, and method of controlling the same | |
US8810839B2 (en) | Information processing apparatus for transferring image data, server apparatus for receiving transferred image data, and control methods and storage media therefor | |
CN104270662A (zh) | 一种终端设备通过浏览器对智能电视进行控制的*** | |
JP2000099463A (ja) | デ―タネットワ―クの二方向対話通信装置用の中心化されたサ―ビス管理システム | |
CN104702665A (zh) | 信息分享方法和信息分享装置 | |
JP6271203B2 (ja) | 電子機器、プログラム、及び情報制御方法 | |
US20010010061A1 (en) | Communication system, communication method, gateway apparatus, and client | |
US9164816B2 (en) | System and method for exchanging information in a multimedia terminal | |
CN115514667A (zh) | 接入服务处理方法、***、装置、电子设备以及存储介质 | |
US20100240353A1 (en) | Remote control system and facility side control apparatus and control program of facility apparatus and control method of facility apparatus | |
KR101228348B1 (ko) | 폴링에 의한 통신접속 시스템, 방법 및 프로그램 | |
US8456671B2 (en) | Communication system, information storage device, management device, and terminal device | |
KR101001512B1 (ko) | 인터넷 페이지에 링크 구조로 연결된 콘텐츠 파일의 송수신시스템 및 그 제어방법과, 그 시스템에 사용되는 브라우징장치 | |
CN103517373A (zh) | 一种网络接入的方法和设备 | |
CN105681480A (zh) | 一种点对点协议ppp按需拨号的方法及设备 | |
CN112333062A (zh) | 家居设备的控制方法、控制装置及计算机可读存储介质 | |
CN103283211B (zh) | 远程操作***、用户终端和远程操作方法 | |
EP2003853B1 (en) | Method for managing functions of a mobile phone during a browsing session, remote gateway and remote phone managing unit | |
CN111885101A (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: 20190628 |