CN103368897B - 传递应用程序的方法、装置及系统 - Google Patents
传递应用程序的方法、装置及系统 Download PDFInfo
- Publication number
- CN103368897B CN103368897B CN201210081861.8A CN201210081861A CN103368897B CN 103368897 B CN103368897 B CN 103368897B CN 201210081861 A CN201210081861 A CN 201210081861A CN 103368897 B CN103368897 B CN 103368897B
- Authority
- CN
- China
- Prior art keywords
- client
- application program
- instruction
- user
- application
- 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.)
- Active
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种传递应用程序的方法、装置及系统,属于计算机领域。所述方法包括:第一客户端建立与第二客户端的网络连接,并获取所述第二客户端的应用程序;所述第一客户端将所述应用程序的文件路径传送给内置于所述第一客户端的虚拟机,使所述虚拟机根据所述应用程序的文件路径运行所述应用程序。所述系统包括:客户端和虚拟机。本发明通过客户端与虚拟机的配合,由虚拟机直接运行从其他基于不同平台的客户端获取的应用程序,达到扩展应用范围,简化用户操作步骤的目的;同时,虚拟机在运行程序过程中对应用程序进行安全检查,在简化用户操作步骤的同时提高安全性。
Description
技术领域
本发明涉及计算机领域,特别涉及一种传递应用程序的方法、装置及系统。
背景技术
随着互联网及移动互联网技术发展的逐渐成熟,客户端之间传递数据文件的方法也越来越方便快捷,用户也不再满足于仅仅传递音频视频等多媒体文件,而是对好友间快速传递可运行的应用程序有着更高的需求。
现有的客户端之间传递应用程序的方法主要有两种:一种是通过QQ之类的即时通信软件,经服务器传输选定的应用程序给好友,在对方确定接收后,两个客户端之间开始传输应用程序文件,直到文件传输结束;另一种是通过登录天网Maze之类的分享软件,通过主服务器浏览和下载他人分享的文件,同时自己分享的文件也可被其他人浏览或下载,其中,主服务器起到桥梁作用,为用户提供搜索文件,发现其他用户服务。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
现有的客户端之间传递的应用程序都具有平台特性,不同平台之间的应用不兼容,传递的应用程序无法直接运行,跨平台性差,应用范围狭窄;而即使是相同平台之间传递的应用程序,也往往需要安装第三方软件,操作繁琐,使用不方便。
发明内容
为了提高传递的应用程序的跨平台性,扩展应用范围,简化用户操作,本发明实施例提供了一种传递应用程序的方法、装置及系统。所述技术方案如下:
一方面,提供一种传递应用程序的方法,所述方法包括:
第一客户端建立与第二客户端的网络连接,并获取所述第二客户端的应用程序;
所述第一客户端将所述应用程序的文件路径传送给内置于所述第一客户端的虚拟机,使所述虚拟机根据所述应用程序的文件路径运行所述应用程序。
所述第一客户端建立与第二客户端的网络连接,具体包括:
所述第一客户端打开监听端口,发送包含所述第一客户端的数据通信端口的广播数据包,接收到所述广播数据包的所述第二客户端根据所述第一客户端的数据通信端口向所述第一客户端请求建立连接,所述第一客户端接收到所述第二客户端建立连接的请求后与所述第二客户端建立网络连接;
或者,
所述第一客户端打开监听端口,接收所述第二客户端发送的包含所述第二客户端的数据通信端口的广播数据包,并根据所述第二客户端的数据通信端口主动请求与所述第二客户端建立网络连接。
所述第一客户端获取所述第二客户端的应用程序,具体包括:
所述第一客户端读取所述第二客户端分享的应用列表并向用户显示,接收所述用户根据所述第二客户端分享的应用列表获取应用程序的指令,并根据所述指令发送传输所述用户选择的应用程序的请求,并接收所述第二客户端发送的应用程序;
或者,
所述第一客户端接收所述第二客户端发送的传输应用程序的请求,提示用户是否同意接收应用程序,并在所述用户选择同意后,接收所述第二客户端发送的应用程序。
所述第一客户端建立与第二客户端的网络连接,具体包括:
所述第一客户端通过账号和口令登录服务器,通过所述服务器与同样登录所述服务器的第二客户端建立网络连接。
所述第一客户端获取所述第二客户端的应用程序,具体包括:
所述第一客户端向所述服务器发送读取所述第二客户端分享的应用列表的请求,接收所述服务器发送的所述第二客户端分享的应用列表并向用户显示,接收所述用户根据所述第二客户端分享的应用列表获取应用程序的指令,并根据所述指令,经由所述服务器发送传输所述用户选择的应用程序的请求,并经由所述服务器接收所述第二客户端发送的应用程序;
或者,
所述第一客户端接收所述第二客户端经由所述服务器发送的传输应用程序的请求,提示用户是否同意接收应用程序,并在所述用户选择同意后,接收所述第二客户端经由所述服务器发送的应用程序。
所述虚拟机根据所述应用程序的文件路径运行所述应用程序,具体包括:
所述虚拟机接收所述第一客户端传送的应用程序的文件路径,根据所述应用程序的文件路径读取应用程序文件,解析并运行所述应用程序文件中的指令或脚本。
所述运行所述应用程序文件中的指令或脚本之前,所述方法还包括:
所述虚拟机对所述指令或所述脚本进行安全检查;
若所述指令或所述脚本安全,则运行所述指令或所述脚本,若所述指令或所述脚本不安全,则提示用户所述指令或所述脚本存在安全问题并询问是否继续,在用户选择确认后继续运行所述指令或脚本。
所述方法包括:
内置于第一客户端的虚拟机接收所述第一客户端发送的应用程序的文件路径,所述应用程序是所述第一客户端从所述第二客户端获取的;
所述虚拟机根据所述应用程序的文件路径运行所述应用程序。
所述虚拟机根据所述应用程序的文件路径运行所述应用程序,具体包括:
所述虚拟机根据所述应用程序的文件路径读取应用程序文件,解析并运行所述应用程序文件中的指令或脚本。
所述运行所述应用程序文件中的指令或脚本之前,所述方法还包括:
所述虚拟机对所述指令或所述脚本进行安全检查;
若所述指令或所述脚本安全,则运行所述指令或所述脚本,若所述指令或所述脚本不安全,则提示用户所述指令或所述脚本存在安全问题并询问是否继续,在用户选择确认后继续运行所述指令或脚本。
另一方面,提供一种传递应用程序的客户端,所述客户端包括:
连接模块,用于建立与第二客户端的网络连接;
获取模块,用于获取所述第二客户端的应用程序;
传送模块,用于将所述应用程序的文件路径传送给内置于所述客户端的虚拟机,使所述虚拟机根据所述应用程序的文件路径运行所述应用程序。
所述连接模块包括:
第一连接单元,用于打开监听端口,发送包含所述客户端的数据通信端口的广播数据包,接收到所述广播数据包的所述第二客户端根据所述客户端的数据通信端口向所述客户端请求建立连接,所述客户端接收到所述第二客户端建立连接的请求后与所述第二客户端建立网络连接;
或者,
第二连接单元,用于打开监听端口,接收所述第二客户端发送的包含所述第二客户端的数据通信端口的广播数据包,并根据所述第二客户端的数据通信端口主动请求与所述第二客户端建立网络连接。
所述获取模块包括:
第一获取单元,用于读取所述第二客户端分享的应用列表并向用户显示,接收所述用户根据所述第二客户端分享的应用列表获取应用程序的指令,并根据所述指令发送传输所述用户选择的应用程序的请求,并接收所述第二客户端发送的应用程序;
或者,
第二获取单元,用于接收所述第二客户端发送的传输应用程序的请求,提示用户是否同意接收应用程序,并在所述用户选择同意后,接收所述第二客户端发送的应用程序。
所述连接模块包括:
第三连接单元,用于通过账号和口令登录服务器,通过所述服务器与同样登录所述服务器的第二客户端建立网络连接。
所述获取模块包括:
第三获取单元,用于向所述服务器发送读取所述第二客户端分享的应用列表的请求,接收所述服务器发送的所述第二客户端分享的应用列表并向用户显示,接收所述用户根据所述第二客户端分享的应用列表获取应用程序的指令,并根据所述指令,经由所述服务器发送传输所述用户选择的应用程序的请求,并经由所述服务器接收所述第二客户端发送的应用程序;
或者,
第四获取单元,用于接收所述第二客户端经由所述服务器发送的传输应用程序的请求,提示用户是否同意接收应用程序,并在所述用户选择同意后,接收所述第二客户端经由所述服务器发送的应用程序。
再一方面,提供一种传递应用程序的虚拟机,其特征在于,所述虚拟机内置于第一客户端,所述虚拟机包括:
接收模块,用于接收所述第一客户端发送的应用程序的文件路径,所述应用程序是所述第一客户端从所述第二客户端获取的;
运行模块,用于根据所述应用程序的文件路径运行所述应用程序。
所述运行模块,具体用于根据所述应用程序的文件路径读取应用程序文件,解析并运行所述应用程序文件中的指令或脚本。
所述虚拟机还包括:
检查模块,用于在运行所述应用程序文件中的指令或脚本之前,对所述指令或所述脚本进行安全检查;
所述运行模块,还用于若所述指令或所述脚本安全,则运行所述指令或所述脚本,若所述指令或所述脚本不安全,则提示用户所述指令或所述脚本存在安全问题并询问是否继续,在用户选择确认后继续运行所述指令或脚本。
又一方面,提供一种传递应用程序的系统,其特征在于,所述系统包括:客户端和虚拟机;
所述客户端包括:
连接模块,用于建立与第二客户端的网络连接;
获取模块,用于获取所述第二客户端的应用程序;
传送模块,用于将所述应用程序的文件路径传送给内置于所述客户端的虚拟机,使所述虚拟机根据所述应用程序的文件路径运行所述应用程序;
所述虚拟机包括:
接收模块,用于接收所述第一客户端发送的应用程序的文件路径,所述应用程序是所述第一客户端从所述第二客户端获取的;
运行模块,用于根据所述应用程序的文件路径运行所述应用程序。
所述连接模块包括:
第一连接单元,用于打开监听端口,发送包含所述客户端的数据通信端口的广播数据包,接收到所述广播数据包的所述第二客户端根据所述客户端的数据通信端口向所述客户端请求建立连接,所述客户端接收到所述第二客户端建立连接的请求后与所述第二客户端建立网络连接;
或者,
第二连接单元,用于打开监听端口,接收所述第二客户端发送的包含所述第二客户端的数据通信端口的广播数据包,并根据所述第二客户端的数据通信端口主动请求与所述第二客户端建立网络连接。
所述获取模块包括:
第一获取单元,用于读取所述第二客户端分享的应用列表并向用户显示,接收所述用户根据所述第二客户端分享的应用列表获取应用程序的指令,并根据所述指令发送传输所述用户选择的应用程序的请求,并接收所述第二客户端发送的应用程序;
或者,
第二获取单元,用于接收所述第二客户端发送的传输应用程序的请求,提示用户是否同意接收应用程序,并在所述用户选择同意后,接收所述第二客户端发送的应用程序。
所述连接模块包括:
第三连接单元,用于通过账号和口令登录服务器,通过所述服务器与同样登录所述服务器的第二客户端建立网络连接。
所述获取模块包括:
第三获取单元,用于向所述服务器发送读取所述第二客户端分享的应用列表的请求,接收所述服务器发送的所述第二客户端分享的应用列表并向用户显示,接收所述用户根据所述第二客户端分享的应用列表获取应用程序的指令,并根据所述指令,经由所述服务器发送传输所述用户选择的应用程序的请求,并经由所述服务器接收所述第二客户端发送的应用程序;
或者,
第四获取单元,用于接收所述第二客户端经由所述服务器发送的传输应用程序的请求,提示用户是否同意接收应用程序,并在所述用户选择同意后,接收所述第二客户端经由所述服务器发送的应用程序。
所述运行模块,具体用于:
根据所述应用程序的文件路径读取应用程序文件,解析并运行所述应用程序文件中的指令或脚本。
所述虚拟机还包括:
检查模块,用于在运行所述应用程序文件中的指令或脚本之前,对所述指令或所述脚本进行安全检查;
所述运行模块,还用于若所述指令或所述脚本安全,则运行所述指令或所述脚本,若所述指令或所述脚本不安全,则提示用户所述指令或所述脚本存在安全问题并询问是否继续,在用户选择确认后继续运行所述指令或脚本。
本发明实施例提供的技术方案带来的有益效果是:
通过在客户端中内置虚拟机,由虚拟机直接运行从其他基于不同平台的客户端获取的应用程序,达到扩展应用范围,简化用户操作步骤的目的;同时,虚拟机在运行程序过程中对应用程序进行安全检查,在简化用户操作步骤的同时提高安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种终端设备之间传递应用程序的方法流程图;
图2是本发明实施例二提供的一种终端设备之间传递应用程序的方法流程图;
图3是本发明实施例三提供的一种终端设备之间传递应用程序的方法流程图;
图4是本发明实施例四提供的一种终端设备之间传递应用程序的方法流程图;
图5是本发明实施例五提供的一种终端设备之间传递应用程序的方法流程图;
图6是本发明实施例六提供的一种终端设备之间传递应用程序的客户端结构图;
图7是本发明实施例七提供的一种终端设备之间传递应用程序的虚拟机结构图;
图8是本发明实施例八提供的一种终端设备之间传递应用程序的系统结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本实施例提供一种终端设备之间传递应用程序的方法,以两个客户端之间直接传递应用程序为例,参见图1,该实施例提供的方法流程具体如下:
101:第一客户端建立与第二客户端的网络连接,并获取第二客户端的应用程序;
第一客户端和第二客户端之间建立连接并传递应用程序的方式有多种,具体的,第一客户端可以通过蓝牙等方式与第二客户端直接建立连接并传递应用程序,也可以通过登录服务器,通过服务器与第二客户端建立连接并传递应用程序。
102:第一客户端将应用程序的文件路径传送给内置于第一客户端的虚拟机,使虚拟机根据应用程序的文件路径运行应用程序。
具体的,第一客户端将应用程序的文件路径传送给内置于第一客户端的虚拟机,虚拟机接收该应用程序的文件路径,根据文件路径读取应用程序文件,解析并运行该应用程序文件中的指令或脚本。
本实施例提供的方法,通过客户端与虚拟机的配合,由虚拟机直接运行从其他基于不同平台的客户端获取的应用程序,达到扩展应用范围,简化用户操作步骤的目的。
实施例二
本实施例提供一种终端设备之间传递应用程序的方法,以两个客户端之间直接传递应用程序为例,其中用户a对应第一客户端,用户b对应第二客户端,参见图2,该实施例提供的方法流程具体如下:
201:第一客户端建立与第二客户端的网络连接;
第一客户端打开监听端口,在局域网内或者通过蓝牙发送的广播包,该广播包内包含有第一客户端的数据通信端口,第二客户端在局域网内或通过蓝牙接收到该广播包后,获取该广播包中第一客户端的数据通信端口并根据第一客户端的数据通信端口与第一客户端建立网络连接;
同样的,第一客户端也可以接收第二客户端主动发送的广播包,提取广播包中第二客户端的数据通信端口并根据第二客户端的数据通信端口与第二客户端建立网络连接。
202:第一客户端获取第二客户端分享的应用程序列表并向用户a显示;
具体的,用户b可以通过第二客户端以列表的形式向其他用户分享应用程序,第一客户端向第二客户端发送读取用户b分享的应用的列表的请求,第二客户端接收请求后将该应用程序列表发送给第一客户端,第一客户端向用户a显示该应用程序列表。
同样的,第二客户端也可以通过上述方法从第一客户端读取用户a分享的应用程序的列表显示给用户b。
203:第一客户端接收用户根据第二客户端分享的应用程序列表获取应用的指令,向第二客户端发送获取该应用程序的请求;
用户a根据第一客户端获取的用户b分享的应用程序的列表发出获取某应用程序的指令,第一客户端根据指令向第二客户端发送获取该应用程序的请求;其中,第一客户端发送的获取应用程序的请求中,可以携带有需要获取的应用程序的名称或代码等信息。
204:第二客户端接收第一客户端发送的获取应用程序的请求,提示用户b是否同意该请求,若是,则进入步骤205,否则,进入步骤212;
第二客户端可以通过弹出提示框来提示用户b是否同意第一客户端发送的获取应用程序的请求,如果用户b选择同意,则进入步骤205,否则,进入步骤212。
205:第二客户端向第一客户端传输请求获取的应用程序,第一客户端接收该应用程序;
第二客户端通过局域网或蓝牙向第一客户端传输应用程序文件,该步骤为现有技术,本实施例对此不再赘述。
206:第一客户端接收用户运行从第二客户端接收的应用程序的指令,将该应用程序的文件路径传送给虚拟机;
其中,虚拟机内置于第一客户端,是一个通过软件模拟的具有完整硬件系统功能的计算机系统,通过虚拟机,可以运行多种不同平台下的应用程序;当第一客户端接收用户运行从第二客户端接收的应用程序的指令后,将该应用程序的文件路径作为参数传送给虚拟机。
207:虚拟机根据第一客户端传送的文件路径读取应用程序文件,并提取该应用程序文件中的指令或脚本;
虚拟机接收第一客户端传送的文件路径后,读取应用程序文件并提取其中的资源、指令或脚本等,该步骤可以通过现有技术实现,本实施例不再赘述。
208:虚拟机判断该文件程序中的指令或脚本是否安全;若是,则进入步骤209,否则,进入步骤210;
虚拟机对提取的应用程序文件中的指令或脚本进行安全检查,判断该文件程序中的指令或脚本是否安全,如果安全,则进入步骤209,否则,进入步骤210。
其中,对指令或脚本进行安全检查也可以通过现有技术实现,本实施例不再赘述。
209:虚拟机运行该文件程序中的指令或脚本;
虚拟机通过执行指令或脚本来运行应用程序的步骤可以通过现有技术实现,本实施例不再赘述。
210:第一客户端提示用户a存在安全问题并询问用户a是否继续,若是,进入步骤209,否则,进入步骤211;
第一客户端可以通过弹出提示框的方式提示用户a该应用程序存在安全问题,同时询问用户a是否继续运行该用用程序,如果用户a选择继续,则进入步骤209,否则,进入步骤211。
211:虚拟机结束该应用程序的运行;
应用程序运行结束时,或者应用程序存在安全问题用户选择终止运行时,虚拟机结束该应用程序的运行状态,该步骤为现有技术,本实施例不再赘述。
212:第二客户端终止向第一客户端传输应用,第一客户端提示用户a请求应用程序失败。
第二客户端在终止向第一客户端传输应用的同时,可以向第一客户端发送一个终止发送的响应,第一客户端接收到该响应后,提示用户a传输应用程序的请求失败。、
本实施例提供的方法,通过在客户端中内置虚拟机,由虚拟机直接运行从其他基于不同平台的客户端获取的应用程序,达到扩展应用范围,简化用户操作步骤的目的;同时,虚拟机在运行程序过程中对应用程序进行安全检查,在简化用户操作步骤的同时提高安全性。
实施例三
本实施例提供一种终端设备之间传递应用程序的方法,以两个客户端之间直接传递应用程序为例,其中用户a对应第一客户端,用户b对应第二客户端,参见图3,该实施例提供的方法流程具体如下:
301:第一客户端建立与第二客户端的网络连接;
第一客户端打开监听端口,在局域网内或者通过蓝牙发送的广播包,该广播包内包含有第一客户端的数据通信端口,第二客户端在局域网内或通过蓝牙接收到该广播包后,获取该广播包中第一客户端的数据通信端口并根据第一客户端的数据通信端口与第一客户端建立网络连接;
同样的,第一客户端也可以接收第二客户端主动发送的广播包,提取广播包中第二客户端的数据通信端口并根据第二客户端的数据通信端口与第二客户端建立网络连接。
302:第二客户端接收用户b将第二客户端本地应用程序传输给第一客户端的指令,根据指令向第一客户端发送传输请求;
具体的,用户b可以在第二客户端上发出将选定的本地应用程序传输给第一客户端的指令,第二客户端接收指令后向第一客户端发起传输应用程序的请求,其中,第二客户端发送的传输请求中包括用户B选择发送的应用程序名称、简介等信息。
303:第一客户端接收第二客户端发送的传输应用程序的请求,提示用户a是否同意该请求,若是,则进入步骤304,否则,进入步骤311;
第一客户端可以通过弹出提示框来提示用户a是否同意第二客户端发送的传输应用程序的请求,如果用户a选择同意,则进入步骤304,否则,进入步骤311。
304:第二客户端向第一客户端传输用户b选择传输的应用程序,第一客户端接收该应用程序;
第二客户端通过局域网或蓝牙向第一客户端传输应用程序文件,该步骤为现有技术,本实施例对此不再赘述。
另外,用户a也可以通过第一客户端向用户b传输用户a的应用程序,具体方法与上述方法类似,本实施例在此不再赘述。
305:第一客户端接收用户运行从第二客户端接收的应用程序的指令,将该应用程序的文件路径传送给虚拟机;
其中,虚拟机内置于第一客户端,是一个通过软件模拟的具有完整硬件系统功能的计算机系统,当第一客户端接收用户运行从第二客户端接收的应用程序的指令后,将该应用程序的文件路径作为参数传送给虚拟机。
306:虚拟机根据第一客户端传送的文件路径读取应用程序文件,并提取该应用程序文件中的指令或脚本;
虚拟机接收第一客户端传送的文件路径后,读取应用程序文件并提取其中的资源、指令或脚本等,该步骤可以通过现有技术实现,本实施例不再赘述。
307:虚拟机判断该文件程序中的指令或脚本是否安全;若是,则进入步骤308,否则,进入步骤309;
虚拟机对提取的应用程序文件中的指令或脚本进行安全检查,判断该文件程序中的指令或脚本是否安全,如果安全,则进入步骤308,否则,进入步骤309。
其中,对指令或脚本进行安全检查也可以通过现有技术实现,本实施例不再赘述。
308:虚拟机运行该文件程序中的指令或脚本;
虚拟机通过执行指令或脚本来运行应用程序的步骤可以通过现有技术实现,本实施例不再赘述。
309:第一客户端提示用户a存在安全问题并询问用户a是否继续,若是,进入步骤308,否则,进入步骤310;
第一客户端可以通过弹出提示框的方式提示用户a该应用程序存在安全问题,同时询问用户a是否继续运行该用用程序,如果用户a选择继续,则进入步骤308,否则,进入步骤310。
310:虚拟机结束该应用程序的运行;
应用程序运行结束时,或者应用程序存在安全问题用户选择终止运行时,虚拟机结束该应用程序的运行状态,该步骤为现有技术,本实施例不再赘述。
311:第二客户端终止向第一客户端传输应用,并提示用户b请求传输应用程序失败。
用户a选择拒绝接收第二客户端发送的传输应用程序的请求后,第一客户端向第二客户端发送一个拒绝接收响应,第二客户端接收拒绝响应后,,终止向第一客户端传输应用,同时提示用户b传输应用程序的请求失败。
本实施例提供的方法,通过在客户端中内置虚拟机,由虚拟机直接运行从其他基于不同平台的客户端获取的应用程序,达到扩展应用范围,简化用户操作步骤的目的;同时,虚拟机在运行程序过程中对应用程序进行安全检查,在简化用户操作步骤的同时提高安全性。
实施例四
本实施例提供一种终端设备之间传递应用程序的方法,以通过服务器传递应用程序为例,参见图4,其中用户a对应第一客户端,用户b对应第二客户端,该实施例提供的方法流程具体如下:
401:用户a通过第一客户端登录服务器;
用户a通过第一客户端,使用用户名或账号口令等登录服务器,用户可以预先注册账号或用户名并设置口令密码,该步骤为现有技术,本实施例对此不再赘述。
402:第一客户端从服务器下载好友列表并向用户a显示;
第一客户端向服务器发送读取用户a好友列表的请求,服务器接收第一客户端的请求后,将用户a的好友列表发送给客户端,客户端将接收到的好友列表显示给用户。
其中,好友列表中可以包含用户a添加的好友,也可以包含所有在线的用户,对此,本实施例不做具体限定。
403:第一客户端接收用户a查看好友列表中的用户b的分享列表的指令,向服务器读取用户b的分享列表;
其中,任何用户都可以通过客户端发布需要分享的应用程序给其他用户查看或下载。用户在客户端里浏览本地被客户端虚拟机支持的应用程序,选择某应用程序进行分享,客户端可以提示用户填写分享的应用程序的名称、简介等,用户填写结束后,客户端根据将分享的应用程序的基本信息打包并发送给服务器,基本信息包括该应用所在的本地路径,文件大小,名称,图标及简介等。服务器接收到客户端发送的用户分享的应用数据包,以用户帐号和应用文件编号(服务器自动分配)为索引将该应用信息存入数据库,以备被其他用户查看和请求下载。另外,该分享的应用信息在可以在客户端本地数据库或其他配置文件中也保存一份,以供局域网模式或脱离服务器模式的情况下和其他用户直接建立网络连接进行分享。
当用户a需要查看用户b的分享列表时,可以通过在好友列表中点击用户b的图标的方式发出读取用户b的分享列表的指令,客户端接收指令后,向服务器发送读取用户b的分享列表的请求,服务器接收请求并将用户b的分享列表发送给第一客户端,第一客户端将从服务器接收的用户b的分享列表显示给用户a。
实际应用中,除了可以通过列表的方式显示好友的分享列表之外,还可以通过图表等方式显示,对此,本实施例不做具体限定。
404:第一客户端接收用户a根据用户b的分享列表发出的获取应用程序的指令,从用户b对应的客户端B下载用户a需要的应用程序;
具体的,用户a可以通过从用户b的分享列表中将需要的应用程序拖动到本地文件夹的方式发出获取应用程序的指令,第一客户端接收该指令,发送文件传输请求数据包到服务器,该数据包包含用户b的帐号,及请求获取的应用程序的文件路径,文件名等信息。服务器收到该数据包,检测用户b还是否在线,如果在线就将数据包转发给用户b对应的第二客户端。如果不在线,则返回给用户a一个请求失败的数据包。第二客户端收到文件传输请求包,解析数据包,提取请求的应用文件路径,并检测该文件是否存在。如果存在,则弹出对话框向用户b提示用户a请求下载某一应用程序。如果用户b同意则开始传输该应用程序。如果该应用不存在或用户b选择不同意用户a的请求,则发送一个请求失败的数据包给服务器,服务器再转发给第一客户端,第一客户端根据请求失败数据包的内容提示用户a无法下载。
第一客户端在接收用户b传输的应用程序时,为该应用程序创建一个空文件,记下要传输的应用程序文件大小,作为接收文件数据结束的依据,第二客户端将应用程序的文件数据读出,依次分成多个文件数据包,打包并加上包号给服务器,服务器做初步安全检查,若没有安全问题就转发给第一客户端,若有安全问题则发送提示数据包给第一客户端,提示该应用程序存在安全问题,询问是否继续,第一客户端弹出对话框提示用户a选择终止还是继续,用户a选择继续则继续传输,否则停止传输。第一客户端依次接收文件数据包,提取文件的数据并保存到先前创建的文件中,当文件数据长度累计达到应用文件大小时,视为该应用传输结束。
405:第一客户端接收用户a运行获取的应用程序的指令,将该应用程序的文件路径传送给虚拟机;
其中,虚拟机内置于客户端,是一个通过软件模拟的具有完整硬件系统功能的计算机系统;当第一客户端接收用户a运行应用程序的指令后,将该应用程序的文件路径作为参数传送给虚拟机。
406:虚拟机根据第一客户端传送的文件路径读取应用程序文件,并提取该应用程序文件中的指令或脚本;
虚拟机接收第一客户端传送的文件路径后,读取应用程序文件并提取其中的资源、指令或脚本等,该步骤可以通过现有技术实现,本实施例不再赘述。
407:虚拟机判断该文件程序中的指令或脚本是否安全;若是,则进入步骤408,否则,进入步骤409;
虚拟机对提取的应用程序文件中的指令或脚本进行安全检查,判断该文件程序中的指令或脚本是否安全,如果安全,则进入步骤408,否则,进入步骤409。
其中,对指令或脚本进行安全检查也可以通过现有技术实现,本实施例不再赘述。
408:虚拟机运行该文件程序中的指令或脚本;
虚拟机通过执行指令或脚本来运行应用程序的步骤可以通过现有技术实现,本实施例不再赘述。
409:第一客户端提示用户a存在安全问题并询问用户a是否继续,若是,进入步骤408,否则,进入步骤410;
第一客户端可以通过弹出提示框的方式提示用户a该应用程序存在安全问题,同时询问用户a是否继续运行该用用程序,如果用户a选择继续,则进入步骤408,否则,进入步骤410。
410:虚拟机结束该应用程序的运行;
应用程序运行结束时,或者应用程序存在安全问题用户选择终止运行时,虚拟机结束该应用程序的运行状态,该步骤为现有技术,本实施例不再赘述。
本实施例提供的方法,通过在客户端中内置虚拟机,由虚拟机直接运行从其他基于不同平台的客户端获取的应用程序,达到扩展应用范围,简化用户操作步骤的目的;同时,虚拟机在运行程序过程中对应用程序进行安全检查,在简化用户操作步骤的同时提高安全性。
实施例五
本实施例提供一种终端设备之间传递应用程序的方法,以通过服务器传递应用程序为例,其中用户a对应第一客户端,用户b对应第二客户端,参见图5,该实施例提供的方法流程具体如下:
501:用户a通过第一客户端登录服务器;
用户通过第一客户端,使用用户名或账号口令等登录服务器,用户可以预先注册账号或用户名并设置口令密码,该步骤为现有技术,本实施例对此不再赘述。
502:第一客户端从服务器下载好友列表并向用户a显示;
第一客户端向服务器发送读取用户a好友列表的请求,服务器接收第一客户端的请求后,将用户a的好友列表发送给第一客户端,第一客户端将接收到的好友列表显示给用户a。
其中,好友列表中可以包含用户a添加的好友,也可以包含所有在线的用户,对此,本实施例不做具体限定。
503:第一客户端接收好友列表中的用户b发送的向用户a传输应用程序的请求;
用户a可以在好友列表中选择用户b,通过右键点击用户b的图标选择传输文件的方式发出向用户b传输应用程序的指令,也可以通过将本地应用程序图标拖动至用户b的分享列表来发出向用户b传输应用的指令,客户端接收用户a指令后,向用户b对应的第二客户端发送应用程序的请求,其中,该请求中可以携带有用户a请求传输的应用程序的名称、简介等信息。
同样的,用户a的好友用户b也可以向第一客户端发送向用户a传输应用程序的请求,第一客户端接收该发送请求后,进一步参见步骤504。
504:第一客户端提示用户a是否同意该请求,如果是,进入步骤505,否则,进入步骤512;
第一客户端可以通过弹出提示框的方式向用户a显示用户b请求传输的应用程序的名称简介等信息,并提示用户a是否接收用户b请求传输的应用程序,如果用户a选择是,则进入步骤505,否则,进入步骤512。
505:第一客户端通过服务器接收应用程序;
用户a选择确认接收用户b发送的应用程序后,第一客户端通过服务器,从第二客户端下载应用程序。
506:第一客户端接收用户a运行获取的应用程序的指令,将该应用程序的文件路径传送给虚拟机;
其中,虚拟机内置于客户端,是一个通过软件模拟的具有完整硬件系统功能的计算机系统;第一客户端接收用户运行应用程序的指令后,将该应用程序的文件路径作为参数传送给虚拟机。
507:虚拟机根据第一客户端传送的文件路径读取应用程序文件,并提取该应用程序文件中的指令或脚本;
虚拟机接收第一客户端传送的文件路径后,读取应用程序文件并提取其中的资源、指令或脚本等,该步骤可以通过现有技术实现,本实施例不再赘述。
508:虚拟机判断该文件程序中的指令或脚本是否安全;若是,则进入步骤509,否则,进入步骤510;
虚拟机对提取的应用程序文件中的指令或脚本进行安全检查,判断该文件程序中的指令或脚本是否安全,如果安全,则进入步骤509,否则,进入步骤510。
其中,对指令或脚本进行安全检查也可以通过现有技术实现,本实施例不再赘述。
509:虚拟机运行该文件程序中的指令或脚本;
虚拟机通过执行指令或脚本来运行应用程序的步骤可以通过现有技术实现,本实施例不再赘述。
510:第一客户端提示用户存在安全问题并询问用户是否继续,若是,进入步骤509,否则,进入步骤511;
第一客户端可以通过弹出提示框的方式提示用户a该应用程序存在安全问题,同时询问用户a是否继续运行该用用程序,如果用户a选择继续,则进入步骤408,否则,进入步骤410。
511:虚拟机结束该应用程序的运行;
应用程序运行结束时,或者应用程序存在安全问题用户选择终止运行时,虚拟机结束该应用程序的运行状态,该步骤为现有技术,本实施例不再赘述。
512:第一客户端拒绝接收好友b对应的第二客户端发送的应用程序。
用户a选择拒绝接收用户b发送的应用程序后,第一客户端向第二客户端发送一个拒绝响应,停止从第二客户端接收应用程序。
本实施例提供的方法,通过在客户端中内置虚拟机,由虚拟机直接运行从其他基于不同平台的客户端获取的应用程序,达到扩展应用范围,简化用户操作步骤的目的;同时,虚拟机在运行程序过程中对应用程序进行安全检查,在简化用户操作步骤的同时提高安全性。
实施例六
本实施例提供一种终端设备之间传递应用程序的客户端,参见图6,本实施例提供的客户端具体结构包括:
连接模块6011,用于建立与第二客户端的网络连接;
获取模块6012,用于获取第二客户端的应用程序;
传送模块6013,用于将应用程序的文件路径传送给内置于客户端的虚拟机,使虚拟机根据应用程序的文件路径运行应用程序。
连接模块6011包括:
第一连接单元6011A,用于打开监听端口,发送包含客户端的数据通信端口的广播数据包,接收到广播数据包的第二客户端根据客户端的数据通信端口向客户端请求建立连接,客户端接收到第二客户端建立连接的请求后与第二客户端建立网络连接;
第二连接单元6011B,用于打开监听端口,接收第二客户端发送的包含第二客户端的数据通信端口的广播数据包,并根据第二客户端的数据通信端口主动请求与第二客户端建立网络连接。
获取模块6012包括:
第一获取单元6012A,用于读取第二客户端分享的应用列表并向用户显示,接收用户根据第二客户端分享的应用列表获取应用程序的指令,并根据指令发送传输用户选择的应用程序的请求,并接收第二客户端发送的应用程序;
第二获取单元6012B,用于接收第二客户端发送的传输应用程序的请求,提示用户是否同意接收应用程序,并在用户选择同意后,接收第二客户端发送的应用程序。
连接模块6011包括:
第三连接单元6011C,用于通过账号和口令登录服务器,通过服务器与同样登录服务器的第二客户端建立网络连接。
获取模块6012包括:
第三获取单元6012C,用于向服务器发送读取第二客户端分享的应用列表的请求,接收服务器发送的第二客户端分享的应用列表并向用户显示,接收用户根据第二客户端分享的应用列表获取应用程序的指令,并根据指令,经由服务器发送传输用户选择的应用程序的请求,并经由服务器接收第二客户端发送的应用程序;
第四获取单元6012D,用于接收第二客户端经由服务器发送的传输应用程序的请求,提示用户是否同意接收应用程序,并在用户选择同意后,接收第二客户端经由服务器发送的应用程序。
本实施例提供的客户端,通过从第二客户端获取应用程序并将获取的应用程序的路径传送给虚拟机,由虚拟机直接运行获取的应用程序,达到扩展应用范围,简化用户操作步骤的目的。
实施例七
本实施例提供一种终端设备之间传递应用程序的虚拟机,该虚拟机内置于第一客户端,参见图7,本实施例提供的虚拟机具体结构包括:
接收模块6021,用于接收第一客户端发送的应用程序的文件路径,应用程序是第一客户端从第二客户端获取的;
运行模块6022,用于根据应用程序的文件路径运行应用程序。
运行模块6022,具体用于根据应用程序的文件路径读取应用程序文件,解析并运行应用程序文件中的指令或脚本。
虚拟机6022还包括:
检查模块6023,用于在运行应用程序文件中的指令或脚本之前,对指令或脚本进行安全检查;
运行模块6022,还用于若指令或脚本安全,则运行指令或脚本,若指令或脚本不安全,则提示用户指令或脚本存在安全问题并询问是否继续,在用户选择确认后继续运行指令或脚本。
本实施例提供的虚拟机,通过直接运行第一客户端从第二客户端获取的应用程序,达到扩展应用范围,简化用户操作步骤的目的;同时,在运行程序过程中对应用程序进行安全检查,在简化用户操作步骤的同时提高安全性。
实施例八
本实施例提供一种终端设备之间传递应用程序的系统,参见图8,本实施例提供的系统包括:客户端601和虚拟机602;
客户端601包括:
连接模块6011,用于建立与第二客户端的网络连接;
获取模块6012,用于获取第二客户端的应用程序;
传送模块6013,用于将应用程序的文件路径传送给内置于客户端的虚拟机,使虚拟机根据应用程序的文件路径运行应用程序;
虚拟机602包括:
接收模块6021,用于接收第一客户端发送的应用程序的文件路径,应用程序是第一客户端从第二客户端获取的;
运行模块6022,用于根据应用程序的文件路径运行应用程序。
连接模块6011包括:
第一连接单元6011A,用于打开监听端口,发送包含客户端的数据通信端口的广播数据包,接收到广播数据包的第二客户端根据客户端的数据通信端口向客户端请求建立连接,客户端接收到第二客户端建立连接的请求后与第二客户端建立网络连接;
第二连接单元6011B,用于打开监听端口,接收第二客户端发送的包含第二客户端的数据通信端口的广播数据包,并根据第二客户端的数据通信端口主动请求与第二客户端建立网络连接。
获取模块6012包括:
第一获取单元6012A,用于读取第二客户端分享的应用列表并向用户显示,接收用户根据第二客户端分享的应用列表获取应用程序的指令,并根据指令发送传输用户选择的应用程序的请求,并接收第二客户端发送的应用程序;
第二获取单元6012B,用于接收第二客户端发送的传输应用程序的请求,提示用户是否同意接收应用程序,并在用户选择同意后,接收第二客户端发送的应用程序。
连接模块6011包括:
第三连接单元6011C,用于通过账号和口令登录服务器,通过服务器与同样登录服务器的第二客户端建立网络连接。
获取模块6012包括:
第三获取单元6012C,用于向服务器发送读取第二客户端分享的应用列表的请求,接收服务器发送的第二客户端分享的应用列表并向用户显示,接收用户根据第二客户端分享的应用列表获取应用程序的指令,并根据指令,经由服务器发送传输用户选择的应用程序的请求,并经由服务器接收第二客户端发送的应用程序;
第四获取单元6012D,用于接收第二客户端经由服务器发送的传输应用程序的请求,提示用户是否同意接收应用程序,并在用户选择同意后,接收第二客户端经由服务器发送的应用程序。
运行模块6022,具体用于:
根据应用程序的文件路径读取应用程序文件,解析并运行应用程序文件中的指令或脚本。
虚拟机602还包括:
检查模块6023,用于在运行应用程序文件中的指令或脚本之前,对指令或脚本进行安全检查;
运行模块6022,还用于若指令或脚本安全,则运行指令或脚本,若指令或脚本不安全,则提示用户指令或脚本存在安全问题并询问是否继续,在用户选择确认后继续运行指令或脚本。
本实施例提供的系统,通过客户端与虚拟机的配合,由虚拟机直接运行从其他基于不同平台的客户端获取的应用程序,达到扩展应用范围,简化用户操作步骤的目的;同时,虚拟机在运行程序过程中对应用程序进行安全检查,在简化用户操作步骤的同时提高安全性。
需要说明的是:上述实施例提供的传递应用程序的系统在传递应用程序时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的传递应用程序的系统与传递应用程序的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (18)
1.一种传递应用程序的方法,其特征在于,所述方法包括:
第一客户端建立与第二客户端的网络连接,并获取所述第二客户端的应用程序;
在接收运行所述应用程序的指令后,所述第一客户端将所述应用程序的文件路径作为参数传送给内置于所述第一客户端的虚拟机,使所述虚拟机根据所述文件路径读取应用程序文件,解析并运行所述应用程序文件中的指令或脚本;
其中,所述虚拟机是通过软件模拟的具有完整硬件系统功能的计算机系统,用于运行多种不同平台下的应用程序;
所述第一客户端建立与第二客户端的网络连接,具体包括:
所述第一客户端打开监听端口,在局域网内或者通过蓝牙发送包含所述第一客户端的数据通信端口的广播数据包,接收到所述广播数据包的所述第二客户端根据所述第一客户端的数据通信端口向所述第一客户端请求建立连接,所述第一客户端接收到所述第二客户端建立连接的请求后与所述第二客户端建立网络连接;
或者,
所述第一客户端打开监听端口,在局域网内或者通过蓝牙接收所述第二客户端发送的包含所述第二客户端的数据通信端口的广播数据包,并根据所述第二客户端的数据通信端口主动请求与所述第二客户端建立网络连接。
2.根据权利要求1所述的方法,其特征在于,所述第一客户端获取所述第二客户端的应用程序,具体包括:
所述第一客户端读取所述第二客户端分享的应用列表并向用户显示,接收所述用户根据所述第二客户端分享的应用列表获取应用程序的指令,并根据所述指令发送传输所述用户选择的应用程序的请求,并接收所述第二客户端发送的应用程序;
或者,
所述第一客户端接收所述第二客户端发送的传输应用程序的请求,提示用户是否同意接收应用程序,并在所述用户选择同意后,接收所述第二客户端发送的应用程序。
3.根据权利要求1所述的方法,其特征在于,所述第一客户端建立与第二客户端的网络连接,具体包括:
所述第一客户端通过账号和口令登录服务器,通过所述服务器与同样登录所述服务器的第二客户端建立网络连接。
4.根据权利要求3所述的方法,其特征在于,所述第一客户端获取所述第二客户端的应用程序,具体包括:
所述第一客户端向所述服务器发送读取所述第二客户端分享的应用列表的请求,接收所述服务器发送的所述第二客户端分享的应用列表并向用户显示,接收所述用户根据所述第二客户端分享的应用列表获取应用程序的指令,并根据所述指令,经由所述服务器发送传输所述用户选择的应用程序的请求,并经由所述服务器接收所述第二客户端发送的应用程序;
或者,
所述第一客户端接收所述第二客户端经由所述服务器发送的传输应用程序的请求,提示用户是否同意接收应用程序,并在所述用户选择同意后,接收所述第二客户端经由所述服务器发送的应用程序。
5.根据权利要求1所述的方法,其特征在于,所述运行所述应用程序文件中的指令或脚本之前,所述方法还包括:
所述虚拟机对所述指令或所述脚本进行安全检查;
若所述指令或所述脚本安全,则运行所述指令或所述脚本,若所述指令或所述脚本不安全,则提示用户所述指令或所述脚本存在安全问题并询问是否继续,在用户选择确认后继续运行所述指令或脚本。
6.一种传递应用程序的方法,其特征在于,所述方法包括:
内置于第一客户端的虚拟机接收所述第一客户端发送的应用程序的文件路径,所述应用程序是所述第一客户端建立与第二客户端的网络连接,并从所述第二客户端获取的;
所述虚拟机根据所述应用程序的文件路径读取应用程序文件,解析并运行所述应用程序文件中的指令或脚本;
其中,所述虚拟机是通过软件模拟的具有完整硬件系统功能的计算机系统,用于运行多种不同平台下的应用程序;
所述第一客户端建立与第二客户端的网络连接,具体包括:
所述第一客户端打开监听端口,在局域网内或者通过蓝牙发送包含所述第一客户端的数据通信端口的广播数据包,接收到所述广播数据包的所述第二客户端根据所述第一客户端的数据通信端口向所述第一客户端请求建立连接,所述第一客户端接收到所述第二客户端建立连接的请求后与所述第二客户端建立网络连接;
或者,
所述第一客户端打开监听端口,在局域网内或者通过蓝牙接收所述第二客户端发送的包含所述第二客户端的数据通信端口的广播数据包,并根据所述第二客户端的数据通信端口主动请求与所述第二客户端建立网络连接。
7.根据权利要求6所述的方法,其特征在于,所述运行所述应用程序文件中的指令或脚本之前,所述方法还包括:
所述虚拟机对所述指令或所述脚本进行安全检查;
若所述指令或所述脚本安全,则运行所述指令或所述脚本,若所述指令或所述脚本不安全,则提示用户所述指令或所述脚本存在安全问题并询问是否继续,在用户选择确认后继续运行所述指令或脚本。
8.一种传递应用程序的客户端,其特征在于,所述客户端包括:
连接模块,用于建立与第二客户端的网络连接;
获取模块,用于获取所述第二客户端的应用程序;
传送模块,用于在接收运行所述应用程序的指令后,将所述应用程序的文件路径作为参数传送给虚拟机,使所述虚拟机根据所述文件路径读取应用程序文件,解析并运行所述应用程序文件中的指令或脚本;
其中,所述虚拟机是通过软件模拟的具有完整硬件系统功能的计算机系统,用于运行多种不同平台下的应用程序;
所述连接模块包括:
第一连接单元,用于打开监听端口,在局域网内或者通过蓝牙发送包含所述客户端的数据通信端口的广播数据包,接收到所述广播数据包的所述第二客户端根据所述客户端的数据通信端口向所述客户端请求建立连接,所述客户端接收到所述第二客户端建立连接的请求后与所述第二客户端建立网络连接;
或者,
第二连接单元,用于打开监听端口,在局域网内或者通过蓝牙接收所述第二客户端发送的包含所述第二客户端的数据通信端口的广播数据包,并根据所述第二客户端的数据通信端口主动请求与所述第二客户端建立网络连接。
9.根据权利要求8所述的客户端,其特征在于,所述获取模块包括:
第一获取单元,用于读取所述第二客户端分享的应用列表并向用户显示,接收所述用户根据所述第二客户端分享的应用列表获取应用程序的指令,并根据所述指令发送传输所述用户选择的应用程序的请求,并接收所述第二客户端发送的应用程序;
或者,
第二获取单元,用于接收所述第二客户端发送的传输应用程序的请求,提示用户是否同意接收应用程序,并在所述用户选择同意后,接收所述第二客户端发送的应用程序。
10.根据权利要求8所述的客户端,其特征在于,所述连接模块还包括:
第三连接单元,用于通过账号和口令登录服务器,通过所述服务器与同样登录所述服务器的第二客户端建立网络连接。
11.根据权利要求10所述的客户端,其特征在于,所述获取模块包括:
第三获取单元,用于向所述服务器发送读取所述第二客户端分享的应用列表的请求,接收所述服务器发送的所述第二客户端分享的应用列表并向用户显示,接收所述用户根据所述第二客户端分享的应用列表获取应用程序的指令,并根据所述指令,经由所述服务器发送传输所述用户选择的应用程序的请求,并经由所述服务器接收所述第二客户端发送的应用程序;
或者,
第四获取单元,用于接收所述第二客户端经由所述服务器发送的传输应用程序的请求,提示用户是否同意接收应用程序,并在所述用户选择同意后,接收所述第二客户端经由所述服务器发送的应用程序。
12.一种传递应用程序的虚拟机,其特征在于,所述虚拟机内置于第一客户端,且所述虚拟机是通过软件模拟的具有完整硬件系统功能的计算机系统,用于运行多种不同平台下的应用程序,所述虚拟机包括:
接收模块,用于接收所述第一客户端发送的应用程序的文件路径,所述应用程序是所述第一客户端建立与第二客户端的网络连接,并从所述第二客户端获取的;
运行模块,用于根据所述应用程序的文件路径读取应用程序文件,解析并运行所述应用程序文件中的指令或脚本;
其中,所述第一客户端建立与第二客户端的网络连接,具体包括:
所述第一客户端打开监听端口,在局域网内或者通过蓝牙发送包含所述第一客户端的数据通信端口的广播数据包,接收到所述广播数据包的所述第二客户端根据所述第一客户端的数据通信端口向所述第一客户端请求建立连接,所述第一客户端接收到所述第二客户端建立连接的请求后与所述第二客户端建立网络连接;
或者,
所述第一客户端打开监听端口,在局域网内或者通过蓝牙接收所述第二客户端发送的包含所述第二客户端的数据通信端口的广播数据包,并根据所述第二客户端的数据通信端口主动请求与所述第二客户端建立网络连接。
13.根据权利要求12所述的虚拟机,其特征在于,所述虚拟机还包括:
检查模块,用于在运行所述应用程序文件中的指令或脚本之前,对所述指令或所述脚本进行安全检查;
所述运行模块,还用于若所述指令或所述脚本安全,则运行所述指令或所述脚本,若所述指令或所述脚本不安全,则提示用户所述指令或所述脚本存在安全问题并询问是否继续,在用户选择确认后继续运行所述指令或脚本。
14.一种传递应用程序的系统,其特征在于,所述系统包括:客户端和虚拟机,所述虚拟机是通过软件模拟的具有完整硬件系统功能的计算机系统,用于运行多种不同平台下的应用程序;
所述客户端包括:
连接模块,用于建立与第二客户端的网络连接;
获取模块,用于获取所述第二客户端的应用程序;
传送模块,用于在接收运行所述应用程序的指令后,将所述应用程序的文件路径作为参数传送给所述虚拟机;
所述虚拟机包括:
接收模块,用于接收所述客户端发送的所述应用程序的文件路径;
运行模块,用于根据所述应用程序的文件路径读取应用程序文件,解析并运行所述应用程序文件中的指令或脚本;
其中,所述连接模块包括:
第一连接单元,用于打开监听端口,在局域网内或者通过蓝牙发送包含所述客户端的数据通信端口的广播数据包,接收到所述广播数据包的所述第二客户端根据所述客户端的数据通信端口向所述客户端请求建立连接,所述客户端接收到所述第二客户端建立连接的请求后与所述第二客户端建立网络连接;
或者,
第二连接单元,用于打开监听端口,在局域网内或者通过蓝牙接收所述第二客户端发送的包含所述第二客户端的数据通信端口的广播数据包,并根据所述第二客户端的数据通信端口主动请求与所述第二客户端建立网络连接。
15.根据权利要求14所述的系统,其特征在于,所述获取模块包括:
第一获取单元,用于读取所述第二客户端分享的应用列表并向用户显示,接收所述用户根据所述第二客户端分享的应用列表获取应用程序的指令,并根据所述指令发送传输所述用户选择的应用程序的请求,并接收所述第二客户端发送的应用程序;
或者,
第二获取单元,用于接收所述第二客户端发送的传输应用程序的请求,提示用户是否同意接收应用程序,并在所述用户选择同意后,接收所述第二客户端发送的应用程序。
16.根据权利要求14所述的系统,其特征在于,所述连接模块还包括:
第三连接单元,用于通过账号和口令登录服务器,通过所述服务器与同样登录所述服务器的第二客户端建立网络连接。
17.根据权利要求16所述的系统,其特征在于,所述获取模块包括:
第三获取单元,用于向所述服务器发送读取所述第二客户端分享的应用列表的请求,接收所述服务器发送的所述第二客户端分享的应用列表并向用户显示,接收所述用户根据所述第二客户端分享的应用列表获取应用程序的指令,并根据所述指令,经由所述服务器发送传输所述用户选择的应用程序的请求,并经由所述服务器接收所述第二客户端发送的应用程序;
或者,
第四获取单元,用于接收所述第二客户端经由所述服务器发送的传输应用程序的请求,提示用户是否同意接收应用程序,并在所述用户选择同意后,接收所述第二客户端经由所述服务器发送的应用程序。
18.根据权利要求14所述的系统,其特征在于,所述虚拟机还包括:
检查模块,用于在运行所述应用程序文件中的指令或脚本之前,对所述指令或所述脚本进行安全检查;
所述运行模块,还用于若所述指令或所述脚本安全,则运行所述指令或所述脚本,若所述指令或所述脚本不安全,则提示用户所述指令或所述脚本存在安全问题并询问是否继续,在用户选择确认后继续运行所述指令或脚本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210081861.8A CN103368897B (zh) | 2012-03-26 | 2012-03-26 | 传递应用程序的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210081861.8A CN103368897B (zh) | 2012-03-26 | 2012-03-26 | 传递应用程序的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103368897A CN103368897A (zh) | 2013-10-23 |
CN103368897B true CN103368897B (zh) | 2015-09-09 |
Family
ID=49369452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210081861.8A Active CN103368897B (zh) | 2012-03-26 | 2012-03-26 | 传递应用程序的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103368897B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617218A (zh) * | 2013-11-21 | 2014-03-05 | 北京奇虎科技有限公司 | 创建轻应用的方法及客户端 |
US10402464B2 (en) | 2013-11-21 | 2019-09-03 | Beijing Qihoo Technology Company Limited | Methods and apparatuses for opening a webpage, invoking a client, and creating a light application |
CN103618795B (zh) * | 2013-11-29 | 2018-06-05 | 百度在线网络技术(北京)有限公司 | 跨设备的文件处理方法、客户端和服务器 |
CN105050027A (zh) * | 2015-05-29 | 2015-11-11 | 深圳市明星网络有限公司 | 一种基于广播模式传送信息的通信装置及通信装置双方传送信息的方法 |
CN108153457B (zh) * | 2016-12-05 | 2021-03-26 | 腾讯科技(深圳)有限公司 | 一种消息回复方法及装置 |
CN106603744B (zh) * | 2016-12-16 | 2019-09-27 | 郑州云海信息技术有限公司 | 一种虚拟化环境下客户端唯一标识匹配方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101170675A (zh) * | 2007-11-21 | 2008-04-30 | 中兴通讯股份有限公司 | 网络电视系统中管理j2me应用程序的方法和系统 |
CN101489175A (zh) * | 2009-02-24 | 2009-07-22 | 诚迈科技(南京)有限公司 | 基于cvm虚拟机技术的无线游戏平台 |
CN101763257A (zh) * | 2009-09-22 | 2010-06-30 | 浙江数芳科技有限公司 | java类预处理通信系统及java类预处理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000557B (zh) * | 2006-01-13 | 2011-10-19 | 北京金远见电脑技术有限公司 | 虚拟机 |
-
2012
- 2012-03-26 CN CN201210081861.8A patent/CN103368897B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101170675A (zh) * | 2007-11-21 | 2008-04-30 | 中兴通讯股份有限公司 | 网络电视系统中管理j2me应用程序的方法和系统 |
CN101489175A (zh) * | 2009-02-24 | 2009-07-22 | 诚迈科技(南京)有限公司 | 基于cvm虚拟机技术的无线游戏平台 |
CN101763257A (zh) * | 2009-09-22 | 2010-06-30 | 浙江数芳科技有限公司 | java类预处理通信系统及java类预处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103368897A (zh) | 2013-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103368897B (zh) | 传递应用程序的方法、装置及系统 | |
JP6517948B2 (ja) | クラウドプリントシステムにおけるクラウドプリンタ共有方法及びクラウドサーバ、クラウドプリントシステム | |
CN102710534B (zh) | 一种跨应用的网络通信方法和设备 | |
CN108123925B (zh) | 资源共享的方法、装置及系统 | |
CN102638797B (zh) | 接入无线网络的方法、终端、接入网节点和鉴权服务器 | |
CN102571726B (zh) | 多媒体数据共享的方法、系统及状态判定服务器 | |
JP5601843B2 (ja) | コミュニティ・ウィジェット提供方法及びその装置 | |
CN111447133B (zh) | 消息传输方法和装置、存储介质及电子装置 | |
CN107257364A (zh) | 无线移动硬盘、无线移动硬盘配置方法及访问方法 | |
CN103139137B (zh) | 网络服务提供方法及装置 | |
EP3068105B1 (en) | Data synchronization method and server | |
CN110557284A (zh) | 基于客户端网关的数据聚合方法及装置 | |
JP2013504806A (ja) | ファイルディレクトリに基づいたファイルの転送のための方法、装置、およびシステム | |
CN110248364A (zh) | Iot设备配网方法、装置、设备及介质 | |
CN112689316B (zh) | 智能设备的绑定方法、装置和存储介质及电子装置 | |
CN104967646B (zh) | 文件下载方法及装置 | |
CN105554136B (zh) | 备份数据还原方法、装置及系统 | |
CN104298492B (zh) | 一种远程移动终端控制方法和系统 | |
CN101873593A (zh) | 一种基于Android的Wifi无线拨号系统及方法 | |
CN103546493A (zh) | 一种跨设备通信方法 | |
CN114124981A (zh) | 一种云存储数据直传管理方法、云传输管理平台及系统 | |
CN103442256B (zh) | 一种基于html5实现电子节目菜单的方法及系统 | |
CN201256399Y (zh) | 一种下载平台、下载终端及下载系统 | |
CN107113281A (zh) | 内容共享的方法、终端、服务器和系统 | |
CN106453200B (zh) | 一种数据服务访问方法及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |