CN103973669B - 文件执行方法和装置 - Google Patents
文件执行方法和装置 Download PDFInfo
- Publication number
- CN103973669B CN103973669B CN201410131375.1A CN201410131375A CN103973669B CN 103973669 B CN103973669 B CN 103973669B CN 201410131375 A CN201410131375 A CN 201410131375A CN 103973669 B CN103973669 B CN 103973669B
- Authority
- CN
- China
- Prior art keywords
- request
- file
- dlna
- connection establishment
- dlna client
- 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
- Computer And Data Communications (AREA)
Abstract
本公开是关于一种文件执行方法和装置,属于通信领域。所述方法包括:接收DLNA客户端通过应用层协议发送的连接建立请求;根据连接建立请求与DLNA客户端建立通讯连接;通过通讯连接和预定端口接收DLNA客户端发送的文件执行请求,文件执行请求携带有至少一个请求字段;读取请求字段并对请求字段进行解析得到文件路径;根据文件路径获取可执行文件;执行可执行文件。本公开解决了在相关技术中DLNA客户端只能够读取DLNA服务器中的只读文件,并不能执行其它操作的问题;实现了DLNA客户端能够执行DLNA服务器中的可执行文件,扩展了DLNA系统在文件执行方面的功能。
Description
技术领域
本公开涉及通信领域,特别涉及一种文件执行方法和装置。
背景技术
DLNA(DigitalLivingNetworkAlliance,数字生活网络联盟)是由索尼、英特尔和微软发起的一个非盈利性组织,旨在解决消费电子设备之间共享数字媒体内容的问题。
在基于DLNA的网络架构中,包括DLNA客户端和DLNA服务器,DLNA客户端与DLNA服务器之间通过有线网络或者无线网络相连。DLNA服务器用于提供媒体内容,包括提供一个多媒体文件的共享平台,该共享平台支持图片、音乐、视频等文件的共享。DLNA客户端用于访问并且读取由DLNA服务器共享的文件,比如播放音乐或者视频。
发明人在实现本公开的过程中,发现上述方式至少存在如下缺陷:在相关技术中,DLNA客户端只能够读取DLNA服务器中的只读文件,并不能执行其它操作。
发明内容
为了解决相关技术中存在的问题,本公开实施例提供了一种文件执行方法和装置。所述技术方案如下:
根据本公开实施例的第一方面,提供了一种文件执行方法,用于数字生活网络联盟DLNA服务器中,所述方法包括:
接收DLNA客户端通过应用层协议发送的连接建立请求;
根据所述连接建立请求与所述DLNA客户端建立通讯连接;
通过所述通讯连接和预定端口接收所述DLNA客户端发送的文件执行请求,所述文件执行请求携带有至少一个请求字段;
读取所述请求字段并对所述请求字段进行解析得到文件路径;
根据所述文件路径获取可执行文件;
执行所述可执行文件;
所述方法还包括:
预先创建满足自定义协议的所述预定端口;
其中,所述自定义协议用于规定通过所述预定端口发送的文件执行请求需要包括所述DLNA服务器对应的IP地址、所述预定端口的端口号、用于表示当前请求的类型为文件执行请求的请求标识以及所述文件路径。
可选地,所述执行所述可执行文件,包括:
调用预定函数;
通过所述预定函数调用进程创建函数创建子进程;
通过所述子进程执行所述可执行文件。
可选地,所述根据所述连接建立请求与所述DLNA客户端建立通讯连接,包括:
当所述连接建立请求中携带有指定使用传输控制协议TCP进行连接的指示时,读取所述连接建立请求中携带的所述指示;
根据所述指示与所述DLNA客户端建立TCP连接。
可选地,所述通过所述通讯连接和预定端口接收所述DLNA客户端发送的文件执行请求时,包括:
接收所述DLNA客户端发送的请求;
检测所述请求中是否携带有所述请求标识;
若检测出所述请求中携带有所述请求标识,则将所述请求确定为所述文件执行请求。
根据本公开实施例的第二方面,提供了一种文件执行装置,用于数字生活网络联盟DLNA服务器中,所述装置包括:
请求连接模块,用于接收DLNA客户端通过应用层协议发送的连接建立请求;
连接建立模块,用于根据所述连接建立请求与所述DLNA客户端建立通讯连接;
请求接收模块,用于通过所述通讯连接和预定端口接收所述DLNA客户端发送的文件执行请求,所述文件执行请求携带有至少一个请求字段;
路径读取模块,用于读取所述请求字段并对所述请求字段进行解析得到文件路径;
文件获取模块,用于根据所述文件路径获取可执行文件;
文件执行模块,用于执行所述可执行文件;
所述装置还包括:
端口创建模块,用于预先创建满足自定义协议的所述预定端口;
其中,所述自定义协议用于规定通过所述预定端口发送的文件执行请求需要包括所述DLNA服务器对应的IP地址、所述预定端口的端口号、用于表示当前请求的类型为文件执行请求的请求标识以及所述文件路径。
可选地,所述文件执行模块,包括:函数调用单元、进程创建单元和文件执行单元;
所述函数调用单元,用于调用预定函数;
所述进程创建单元,用于通过所述预定函数调用进程创建函数创建子进程;
所述文件执行单元,用于通过所述子进程执行所述可执行文件。
可选地,所述连接建立模块,包括:指示读取单元和连接建立单元;
所述指示读取单元,用于当所述连接建立请求中携带有指定使用传输控制协议TCP进行连接的指示时,读取所述连接建立请求中携带的所述指示;
所述连接建立单元,用于根据所述指示与所述DLNA客户端建立TCP连接。
可选地,所述请求接收模块,包括:请求接收单元、请求检测单元和请求确定单元;
所述请求接收单元,用于接收所述DLNA客户端发送的请求;
所述请求检测单元,用于检测所述请求中是否携带有所述请求标识;
所述请求确定单元,用于若检测出所述请求中携带有所述请求标识,则将所述请求确定为所述文件执行请求。
根据本公开实施例的第三方面,提供了一种文件执行装置,包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
接收数字生活网络联盟DLNA客户端通过应用层协议发送的连接建立请求;
根据所述连接建立请求与所述DLNA客户端建立通讯连接;
通过所述通讯连接和预定端口接收所述DLNA客户端发送的文件执行请求,所述文件执行请求携带有至少一个请求字段;
读取所述请求字段并对所述请求字段进行解析得到文件路径;
根据所述文件路径获取可执行文件;
执行所述可执行文件;
所述处理器还被配置为:
预先创建满足自定义协议的所述预定端口;
其中,所述自定义协议用于规定通过所述预定端口发送的文件执行请求需要包括所述DLNA服务器对应的IP地址、所述预定端口的端口号、用于表示当前请求的类型为文件执行请求的请求标识以及所述文件路径。
本公开实施例提供的技术方案的一些有益效果可以包括:
通过DLNA服务器接收DLNA客户端发送的文件执行请求,读取文件执行请求中包含的文件路径,然后根据文件路径获取可执行文件,并执行该可执行文件;解决了在相关技术中DLNA客户端只能够读取DLNA服务器中的只读文件,并不能执行其它操作的问题;实现了DLNA客户端能够执行DLNA服务器中的可执行文件,扩展了DLNA系统在文件执行方面的功能。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚地说明本公开的实施例,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种文件执行方法的流程图;
图2是根据另一示例性实施例示出的一种文件执行方法的流程图;
图3是根据一示例性实施例示出的一种文件执行装置的示意图;
图4是根据另一示例性实施例示出的一种文件执行装置的示意图;
图5是根据本公开一示例性实施例示出的一种用于文件执行的装置的框图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,显然,所描述的实施例仅仅是本公开一部份实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
在介绍本公开提供的文件执行方法之前,首先需要介绍下本公开涉及的DLNA服务器。DLNA服务器是用于实现图片、音乐、视频等媒体内容的共享的服务器,该DLNA服务器可以是用于实现上述功能的计算机软件,也可以是用于执行上述计算机软件的计算机或者计算机系统。
当DLNA服务器为用于实现图片、音乐、视频等媒体内容的共享功能的计算机软件时,DLNA服务器可以运行于DLNA设备上。DLNA设备可以是智能路由器,该智能路由器除了具备普通路由器所能实现的路由功能外,还具有独立的操作系统,可以由用户自行安装各种应用。其中,操作系统可以是基于OpenWrt的深度定制操作系统。DLNA设备中还包括存储介质,比如硬盘,该存储介质用于存储图片、音乐、视频等文件。可选地,DLNA设备还包括USB接口,可以支持U盘、移动硬盘之类的移动存储设备的接入。
图1是根据一示例性实施例示出的一种文件执行方法的流程图,本实施例以该文件执行方法应用于DLNA服务器中来举例说明。该文件执行方法可以包括如下几个步骤:
在步骤102中,接收DLNA客户端通过应用层协议发送的连接建立请求。
在步骤104中,根据连接建立请求与DLNA客户端建立通讯连接。
在步骤106中,通过通讯连接和预定端口接收DLNA客户端发送的文件执行请求,文件执行请求携带有至少一个请求字段。
在步骤108中,读取请求字段并对请求字段进行解析得到文件路径。
在步骤110中,根据文件路径获取可执行文件。
在步骤112中,执行可执行文件。
综上所述,本实施例提供的文件执行方法,通过DLNA服务器在接收到DLNA客户端通过应用层协议发送的连接建立请求后,根据连接建立请求与DLNA客户端建立通讯连接,然后通过上述通讯连接和预定端口接收DLNA客户端发送的文件执行请求,并在读取文件执行请求中包含的请求字段之后对读取到的请求字段进行解析得到文件路径,然后根据文件路径获取可执行文件,并执行该可执行文件;解决了在相关技术中DLNA客户端只能够读取DLNA服务器中的只读文件,并不能执行其它操作的问题;实现了DLNA客户端能够执行DLNA服务器中的可执行文件,扩展了DLNA系统在文件执行方面的功能。
图2是根据另一示例性实施例示出的一种文件执行方法的流程图,本实施例以该文件执行方法应用于DLNA服务器中来举例说明。该文件执行方法可以包括如下几个步骤:
在步骤201中,预先创建满足自定义协议的预定端口。
预先在DLNA服务器中创建满足自定义协议的预定端口,该预定端口用于接收DLNA客户端发送的文件执行请求。其中,自定义协议用于规定通过预定接口发送的文件执行请求需要包括DLNA服务器对应的IP地址、预定端口的端口号、用于表示当前请求的类型为文件执行请求的请求标识以及文件路径。
其中,当DLNA服务器为运行于DLNA设备中的计算机软件时,DLNA服务器对应的IP地址即为DLNA设备的IP地址,DLNA客户端通过该IP地址实现与DLNA服务器之间的网络通信。
预定端口的端口号为DLNA设备的操作系统分配给DLNA服务器的用于接收文件执行请求的预定端口的端口号。DLNA服务器通过监听该端口号所对应的预定端口检测是否有DLNA客户端通过TCP/IP(TransmissionControlProtocol/InternetProtocol,传输控制协议/因特网互联协议)协议向其发来文件执行请求。DLNA客户端也需要知道该端口号才能准确地向DLNA服务器发送文件执行请求。
请求标识用于表示当前请求的类型为文件执行请求,该请求标识可记为“execute”。当DLNA客户端向DLNA服务器发送的请求中包含请求标识“execute”时,表示当前请求类型为文件执行请求。
文件路径可记为path。文件路径path用于表示需要执行的可执行文件在DLNA服务器中的存储位置。
综上,DLNA客户端在向DLNA服务器发送文件执行请求时,该文件执行请求需要满足自定义协议所规定的请求格式和内容。比如,文件执行请求的内容为:192.168.31.1:8200:/execute/folder1/1.exe。其中,192.168.31.1为DLNA服务器对应的IP地址、8200为预定端口的端口号、execute为用于表示当前请求的类型为文件执行请求的请求标识、folder1/1.exe表示文件路径path。
在步骤202中,接收DLNA客户端通过应用层协议发送的连接建立请求。
DLNA客户端如需执行可执行文件,在向DLNA服务器发送文件执行请求之前首先需要与DLNA服务器建立通讯连接。因此,DLNA客户端首先通过应用层协议向DLNA服务器发送连接建立请求;对应地,DLNA服务器接收DLNA客户端通过应用层协议发送的连接建立请求。
其中,连接建立请求用于建立DLNA客户端的Socket端口与DLNA服务器的Socket端口之间的连接。DLNA客户端可以通过HTTP(Hypertexttransferprotocol,超文本传输协议)协议或者自定义的应用层协议向DLNA服务器发送连接建立请求。
在步骤203中,根据连接建立请求与DLNA客户端建立通讯连接。
DLNA服务器根据连接建立请求与DLNA客户端建立通讯连接。DLNA服务器在接收到DLNA客户端发送的连接建立请求之后,建立Socket连接,也即DLNA客户端的Socket端口与DLNA服务器的Socket端口之间的通讯连接。
当连接建立请求中携带有指定使用TCP(TransmissionControlProtocol,传输控制协议)协议进行连接的指示时,本步骤可以包括如下几个子步骤:
第一,读取连接建立请求中携带的指示。
第二,根据指示与DLNA客户端建立TCP连接。
DLNA客户端在发送连接建立请求时可以指定使用TCP协议建立连接,其可以在连接建立请求中携带指定使用TCP协议进行连接的指示。DLNA服务器在读取到连接建立请求中包含的上述指示之后,根据指示与DLNA客户端建立基于TCP协议的Socket连接,该Socket连接也称为TCP连接。
进一步地,DLNA服务器在建立完成连接之后,可以向DLNA客户端发送连接建立响应,用于告知DLNA客户端已经成功建立连接。
在步骤204中,通过通讯连接和预定端口接收DLNA客户端发送的文件执行请求,文件执行请求携带有至少一个请求字段。
DLNA客户端接收到DLNA服务器发送的连接建立响应之后,通过建立的通讯连接和预定端口向DLNA服务器发送文件执行请求,该文件执行请求携带有至少一个请求字段,请求字段中包含有上述步骤201中介绍的自定义协议所规定的文件执行请求中所需包含的内容。比如,该文件执行请求的内容为:192.168.31.1:8200:/execute/folder1/1.exe。
对应地,DLNA服务器通过连接和预定端口接收DLNA客户端发送的文件执行请求。
在步骤205中,检测请求中是否携带有请求标识。
DLNA服务器在接收到DLNA客户端发送的请求之后,检测请求中是否携带有用于表示当前请求的类型为文件执行请求的请求标识,也即检测请求中是否包含“execute”,以此确定该请求是否为文件执行请求。
在步骤206中,若检测出请求中携带有请求标识,则将请求确定为文件执行请求。
若检测出请求中携带有用于表示当前请求的类型为文件执行请求的请求标识“execute”,则说明该请求为文件执行请求,DLNA客户端请求执行DLNA服务器中的可执行文件。
在步骤207中,读取请求字段并对请求字段进行解析得到文件路径。
DLNA服务器读取文件执行请求中携带的请求字段,并对请求字段进行解析得到文件路径path。
在步骤208中,根据文件路径获取可执行文件。
DLNA服务器根据文件路径path获取可执行文件。在上述步骤201中已经介绍,文件路径path用于表示需要执行的可执行文件在DLNA服务器中的存储位置。DLNA服务器可以根据该文件路径path扫描获取到存放于存储介质中的可执行文件。
在通常情况下,可执行文件的文件格式为.exe。
在步骤209中,执行可执行文件。
DLNA服务器在获取到可执行文件之后,执行该可执行文件。
在一种实现方式中,本步骤可以包括如下几个子步骤:
第一,调用预定函数。
DLNA服务器调用预定函数,该预定函数可以是linux环境下的system函数。
第二,通过预定函数调用进程创建函数创建子进程。
DLNA服务器通过预定函数调用进程创建函数创建子进程。在linux环境下,system函数能够调用fork函数创建出一个子进程,该子进程即为用于执行获取到的可执行文件的进程。
第三,通过子进程执行可执行文件。
DLNA服务器通过进程创建函数所创建的子进程执行可执行文件。
综上所述,本实施例提供的文件执行方法,通过DLNA服务器在接收到DLNA客户端通过应用层协议发送的连接建立请求后,根据连接建立请求与DLNA客户端建立通讯连接,然后通过上述通讯连接和预定端口接收DLNA客户端发送的文件执行请求,并在读取文件执行请求中包含的请求字段之后对读取到的请求字段进行解析得到文件路径,然后根据文件路径获取可执行文件,并执行该可执行文件;解决了在相关技术中DLNA客户端只能够读取DLNA服务器中的只读文件,并不能执行其它操作的问题;实现了DLNA客户端能够执行DLNA服务器中的可执行文件,扩展了DLNA系统在文件执行方面的功能。
另外,本实施例通过预先在DLNA服务器中创建满足自定义协议的预定端口,该自定义协议规定了通过预定端口发送的文件执行请求需要包括的内容,具体包括DLNA服务器对应的IP地址、预定端口的端口号、用于表示当前请求的类型为文件执行请求的请求标识以及文件路径,使得DLNA客户端与DLNA服务器之间的交互更为规范。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图3是根据一示例性实施例示出的一种文件执行装置的示意图,该文件执行装置可以通过软件、硬件或者两者的结合实现成为DLNA服务器的部分或者全部。该文件执行装置可以包括:请求连接模块310、连接建立模块320、请求接收模块330、路径读取模块340、文件获取模块350和文件执行模块360。
请求连接模块310被配置为接收DLNA客户端通过应用层协议发送的连接建立请求。
连接建立模块320被配置为根据连接建立请求与DLNA客户端建立通讯连接。
请求接收模块330被配置为通过通讯连接和预定端口接收DLNA客户端发送的文件执行请求,文件执行请求携带有至少一个请求字段。
路径读取模块340被配置为读取请求字段并对请求字段进行解析得到文件路径。
文件获取模块350被配置为根据文件路径获取可执行文件。
文件执行模块360被配置为执行可执行文件。
综上所述,本实施例提供的文件执行装置,通过DLNA服务器在接收到DLNA客户端通过应用层协议发送的连接建立请求后,根据连接建立请求与DLNA客户端建立通讯连接,然后通过上述通讯连接和预定端口接收DLNA客户端发送的文件执行请求,并在读取文件执行请求中包含的请求字段之后对读取到的请求字段进行解析得到文件路径,然后根据文件路径获取可执行文件,并执行该可执行文件;解决了在相关技术中DLNA客户端只能够读取DLNA服务器中的只读文件,并不能执行其它操作的问题;实现了DLNA客户端能够执行DLNA服务器中的可执行文件,扩展了DLNA系统在文件执行方面的功能。
图4是根据另一示例性实施例示出的一种文件执行装置的示意图,该文件执行装置可以通过软件、硬件或者两者的结合实现成为DLNA服务器的部分或者全部。该文件执行装置可以包括:请求连接模块310、连接建立模块320、请求接收模块330、路径读取模块340、文件获取模块350和文件执行模块360。
请求连接模块310被配置为接收DLNA客户端通过应用层协议发送的连接建立请求。
连接建立模块320被配置为根据连接建立请求与DLNA客户端建立通讯连接。
连接建立模块320,包括:指示读取单元320a和连接建立单元320b。
指示读取单元320a被配置为当连接建立请求中携带有指定使用传输控制协议TCP进行连接的指示时,读取连接建立请求中携带的指示。
连接建立单元320b被配置为根据指示与DLNA客户端建立TCP连接。
请求接收模块330被配置为通过通讯连接和预定端口接收DLNA客户端发送的文件执行请求,文件执行请求携带有至少一个请求字段。
请求接收模块330,包括:请求接收单元330a、请求检测单元330b和请求确定单元330c。
请求接收单元330a被配置为接收DLNA客户端发送的请求。
请求检测单元330b被配置为检测请求中是否携带有请求标识。
请求确定单元330c被配置为若检测出请求中携带有请求标识,则将请求确定为文件执行请求。
路径读取模块340被配置为读取请求字段并对请求字段进行解析得到文件路径。
文件获取模块350被配置为根据文件路径获取可执行文件。
文件执行模块360被配置为执行可执行文件。
文件执行模块360,包括:函数调用单元360a、进程创建单元360b和文件执行单元360c。
函数调用单元360a被配置为调用预定函数。
进程创建单元360b被配置为通过预定函数调用进程创建函数创建子进程。
文件执行单元360c被配置为通过子进程执行可执行文件。
可选地,文件执行装置还包括:
端口创建模块370被配置为预先创建满足自定义协议的预定端口。
其中,自定义协议用于规定通过预定接口发送的文件执行请求需要包括DLNA服务器对应的IP地址、预定端口的端口号、用于表示当前请求的类型为文件执行请求的请求标识以及文件路径。
综上所述,本实施例提供的文件执行装置,通过DLNA服务器在接收到DLNA客户端通过应用层协议发送的连接建立请求后,根据连接建立请求与DLNA客户端建立连接,然后通过上述连接和预定端口接收DLNA客户端发送的文件执行请求,并在读取文件执行请求中包含的请求字段之后对读取到的请求字段进行解析得到文件路径,然后根据文件路径获取可执行文件,并执行该可执行文件;解决了在相关技术中DLNA客户端只能够读取DLNA服务器中的只读文件,并不能执行其它操作的问题;实现了DLNA客户端能够执行DLNA服务器中的可执行文件,扩展了DLNA系统在文件执行方面的功能。
另外,本实施例通过预先在DLNA服务器中创建满足自定义协议的预定端口,该自定义协议规定了通过预定端口发送的文件执行请求需要包括的内容,具体包括DLNA服务器对应的IP地址、预定端口的端口号、用于表示当前请求的类型为文件执行请求的请求标识以及文件路径,使得DLNA客户端与DLNA服务器之间的交互更为规范。
本公开实施例提供了一种文件执行装置,包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
接收数字生活网络联盟DLNA客户端通过应用层协议发送的连接建立请求;
根据所述连接建立请求与所述DLNA客户端建立通讯连接;
通过所述通讯连接和预定端口接收所述DLNA客户端发送的文件执行请求,所述文件执行请求携带有至少一个请求字段;
读取所述请求字段并对所述请求字段进行解析得到文件路径;
根据所述文件路径获取可执行文件;
执行所述可执行文件。
在另一实施例中,处理器还可以被配置为:
所述执行所述可执行文件,包括:
调用预定函数;
通过所述预定函数调用进程创建函数创建子进程;
通过所述子进程执行所述可执行文件。
在另一实施例中,处理器还可以被配置为:
所述根据所述连接建立请求与所述DLNA客户端建立通讯连接,包括:
当所述连接建立请求中携带有指定使用传输控制协议TCP进行连接的指示时,读取所述连接建立请求中携带的所述指示;
根据所述指示与所述DLNA客户端建立TCP连接。
在另一实施例中,处理器还可以被配置为:
预先创建满足自定义协议的所述预定端口;
其中,所述自定义协议用于规定通过所述预定接口发送的文件执行请求需要包括所述DLNA服务器对应的IP地址、所述预定端口的端口号、用于表示当前请求的类型为文件执行请求的请求标识以及所述文件路径。
在另一实施例中,处理器还可以被配置为:
所述通过所述通讯连接和预定端口接收所述DLNA客户端发送的文件执行请求时,包括:
接收所述DLNA客户端发送的请求;
检测所述请求中是否携带有所述请求标识;
若检测出所述请求中携带有所述请求标识,则将所述请求确定为所述文件执行请求。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据本公开一示例性实施例示出的一种用于文件执行的装置500的框图。例如,装置500可以是本公开上述实施例中涉及的DLNA服务器。装置500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,CPU)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对装置500中的一系列指令操作。更进一步地,中央处理器522可以设置为与存储介质530通信,在装置500上执行存储介质530中的一系列指令操作。
装置500还可以包括一个或一个以上电源526,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,一个或一个以上键盘556,和/或,一个或一个以上操作系统541,例如WindowsServerTM,MacOSXTM,UnixTM,LinuxTM,FreeBSDTM等等。
当存储介质530中的指令由装置500的中央处理器522执行时,使得装置500能够执行上述图1或者图2所述的文件执行方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (9)
1.一种文件执行方法,其特征在于,用于数字生活网络联盟DLNA服务器中,所述方法包括:
接收DLNA客户端通过应用层协议发送的连接建立请求;
根据所述连接建立请求与所述DLNA客户端建立通讯连接;
通过所述通讯连接和预定端口接收所述DLNA客户端发送的文件执行请求,所述文件执行请求携带有至少一个请求字段;
读取所述请求字段并对所述请求字段进行解析得到文件路径;
根据所述文件路径获取可执行文件;
执行所述可执行文件;
所述方法还包括:
预先创建满足自定义协议的所述预定端口;
其中,所述自定义协议用于规定通过所述预定端口发送的文件执行请求需要包括所述DLNA服务器对应的IP地址、所述预定端口的端口号、用于表示当前请求的类型为文件执行请求的请求标识以及所述文件路径。
2.根据权利要求1所述的方法,其特征在于,所述执行所述可执行文件,包括:
调用预定函数;
通过所述预定函数调用进程创建函数创建子进程;
通过所述子进程执行所述可执行文件。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述连接建立请求与所述DLNA客户端建立通讯连接,包括:
当所述连接建立请求中携带有指定使用传输控制协议TCP进行连接的指示时,读取所述连接建立请求中携带的所述指示;
根据所述指示与所述DLNA客户端建立TCP连接。
4.根据权利要求1所述的方法,其特征在于,所述通过所述通讯连接和预定端口接收所述DLNA客户端发送的文件执行请求时,包括:
接收所述DLNA客户端发送的请求;
检测所述请求中是否携带有所述请求标识;
若检测出所述请求中携带有所述请求标识,则将所述请求确定为所述文件执行请求。
5.一种文件执行装置,其特征在于,用于数字生活网络联盟DLNA服务器中,所述装置包括:
请求连接模块,用于接收DLNA客户端通过应用层协议发送的连接建立请求;
连接建立模块,用于根据所述连接建立请求与所述DLNA客户端建立通讯连接;
请求接收模块,用于通过所述通讯连接和预定端口接收所述DLNA客户端发送的文件执行请求,所述文件执行请求携带有至少一个请求字段;
路径读取模块,用于读取所述请求字段并对所述请求字段进行解析得到文件路径;
文件获取模块,用于根据所述文件路径获取可执行文件;
文件执行模块,用于执行所述可执行文件;
所述装置还包括:
端口创建模块,用于预先创建满足自定义协议的所述预定端口;
其中,所述自定义协议用于规定通过所述预定端口发送的文件执行请求需要包括所述DLNA服务器对应的IP地址、所述预定端口的端口号、用于表示当前请求的类型为文件执行请求的请求标识以及所述文件路径。
6.根据权利要求5所述的装置,其特征在于,所述文件执行模块,包括:函数调用单元、进程创建单元和文件执行单元;
所述函数调用单元,用于调用预定函数;
所述进程创建单元,用于通过所述预定函数调用进程创建函数创建子进程;
所述文件执行单元,用于通过所述子进程执行所述可执行文件。
7.根据权利要求5或6所述的装置,其特征在于,所述连接建立模块,包括:指示读取单元和连接建立单元;
所述指示读取单元,用于当所述连接建立请求中携带有指定使用传输控制协议TCP进行连接的指示时,读取所述连接建立请求中携带的所述指示;
所述连接建立单元,用于根据所述指示与所述DLNA客户端建立TCP连接。
8.根据权利要求5所述的装置,其特征在于,所述请求接收模块,包括:请求接收单元、请求检测单元和请求确定单元;
所述请求接收单元,用于接收所述DLNA客户端发送的请求;
所述请求检测单元,用于检测所述请求中是否携带有所述请求标识;
所述请求确定单元,用于若检测出所述请求中携带有所述请求标识,则将所述请求确定为所述文件执行请求。
9.一种文件执行装置,其特征在于,包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
接收数字生活网络联盟DLNA客户端通过应用层协议发送的连接建立请求;
根据所述连接建立请求与所述DLNA客户端建立通讯连接;
通过所述通讯连接和预定端口接收所述DLNA客户端发送的文件执行请求,所述文件执行请求携带有至少一个请求字段;
读取所述请求字段并对所述请求字段进行解析得到文件路径;
根据所述文件路径获取可执行文件;
执行所述可执行文件;
所述处理器还被配置为:
预先创建满足自定义协议的所述预定端口;
其中,所述自定义协议用于规定通过所述预定端口发送的文件执行请求需要包括所述DLNA服务器对应的IP地址、所述预定端口的端口号、用于表示当前请求的类型为文件执行请求的请求标识以及所述文件路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410131375.1A CN103973669B (zh) | 2014-04-02 | 2014-04-02 | 文件执行方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410131375.1A CN103973669B (zh) | 2014-04-02 | 2014-04-02 | 文件执行方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103973669A CN103973669A (zh) | 2014-08-06 |
CN103973669B true CN103973669B (zh) | 2016-03-30 |
Family
ID=51242716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410131375.1A Active CN103973669B (zh) | 2014-04-02 | 2014-04-02 | 文件执行方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103973669B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479533A (zh) * | 2010-11-30 | 2012-05-30 | 正文科技股份有限公司 | 多媒体档案编辑方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102217273B (zh) * | 2008-11-12 | 2014-12-10 | 思杰系统有限公司 | 用于应用流畅性策略的系统和方法 |
CN102045317B (zh) * | 2009-10-15 | 2016-06-08 | 华为技术有限公司 | 实现多方通信的方法、装置及系统 |
US9847888B2 (en) * | 2011-08-29 | 2017-12-19 | Google Technology Holdings LLC | Controlling content access and related actions on a DLNA network |
CN103414689A (zh) * | 2013-07-12 | 2013-11-27 | 深圳Tcl新技术有限公司 | Dlna设备的连接方法及装置 |
-
2014
- 2014-04-02 CN CN201410131375.1A patent/CN103973669B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479533A (zh) * | 2010-11-30 | 2012-05-30 | 正文科技股份有限公司 | 多媒体档案编辑方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103973669A (zh) | 2014-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10613788B2 (en) | Data migration between cloud storage systems | |
US10142425B2 (en) | Session reliability for a redirected USB device | |
US20180183651A1 (en) | Content push method and server, and terminal | |
CA2856882C (en) | System for transferring states between electronic devices | |
CN108196915B (zh) | 基于应用容器引擎的代码处理方法、设备及存储介质 | |
US10223321B2 (en) | Combining redirected USB interfaces into a single composite device | |
EP2924954A1 (en) | Device controlling method, client, server and intermediate device | |
US10313448B2 (en) | Employing an auxiliary device to implement USB device redirection | |
US20150178059A1 (en) | Application launching | |
US9413560B2 (en) | Differentiated quality of service using security as a service | |
KR20140123076A (ko) | 디바이스 제어 방법 및 장치 | |
EP3075147B1 (en) | Method for remote monitoring, and system for signal capturing and remote monitoring | |
US11789765B2 (en) | Collaborative hosted virtual systems and methods | |
WO2014093944A1 (en) | Inversion-of-control component service models for virtual environments | |
WO2021069099A1 (en) | Systems and methods for managing remote display of video streams | |
CN104601666A (zh) | 日志服务方法及云平台 | |
CN114465867B (zh) | 服务器的维护方法、装置、存储介质及处理器 | |
US10834164B2 (en) | Virtualizing audio and video devices using synchronous A/V streaming | |
CN103973772B (zh) | 文件读写方法和装置 | |
CN113312168A (zh) | 页面访问方法与电子设备 | |
CN113709243B (zh) | 设备远程控制方法及装置、电子设备和存储介质 | |
JP2015501479A (ja) | ローカルサーバーを通じたローカルクライアントアプリケーションのためのイベントサービス | |
CN112769876A (zh) | 一种设备通道信息获取方法、装置、设备和介质 | |
JP2022515702A (ja) | コンピューティング環境内での仮想デスクトップの提供 | |
CN103973669B (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 |