欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

文件讀寫方法和裝置制造方法

文檔序號(hào):7800630閱讀:133來源:國知局
文件讀寫方法和裝置制造方法
【專利摘要】本發(fā)明是關(guān)于一種文件讀寫方法和裝置,屬于通信領(lǐng)域。所述方法包括:接收數(shù)字生活網(wǎng)絡(luò)聯(lián)盟DLNA客戶端通過應(yīng)用層協(xié)議發(fā)送的連接建立請(qǐng)求;根據(jù)連接建立請(qǐng)求與DLNA客戶端建立通訊連接;通過上述通訊連接和預(yù)定端口接收DLNA客戶端發(fā)送的寫文件請(qǐng)求,寫文件請(qǐng)求攜帶有至少一個(gè)請(qǐng)求字段;讀取請(qǐng)求字段并對(duì)請(qǐng)求字段進(jìn)行解析得到動(dòng)作參數(shù)和文件路徑;根據(jù)動(dòng)作參數(shù)在與文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作。本發(fā)明解決了相關(guān)技術(shù)中DLNA客戶端只能夠讀取由DLNA服務(wù)器共享的文件,并不能執(zhí)行其它操作的問題;實(shí)現(xiàn)了DLNA客戶端能夠向DLNA服務(wù)器寫文件的效果。
【專利說明】文件讀寫方法和裝置
【技術(shù)領(lǐng)域】
[0001]本公開涉及通信領(lǐng)域,特別涉及一種文件讀寫方法和裝置。
【背景技術(shù)】
[0002]DLNA (Digital Living Network Alliance,數(shù)字生活網(wǎng)絡(luò)聯(lián)盟)是由索尼、英特爾和微軟發(fā)起的一個(gè)非盈利性組織,旨在解決消費(fèi)電子設(shè)備之間共享數(shù)字媒體內(nèi)容的問題。
[0003]在基于DLNA的網(wǎng)絡(luò)架構(gòu)中,包括DLNA客戶端和DLNA服務(wù)器,DLNA客戶端與DLNA服務(wù)器之間通過有線網(wǎng)絡(luò)或者無線網(wǎng)絡(luò)相連。DLNA服務(wù)器用于提供媒體內(nèi)容,包括提供一個(gè)多媒體文件的共享平臺(tái),該共享平臺(tái)支持圖片、音樂、視頻等文件的共享。DLNA客戶端用于訪問并且讀取由DLNA服務(wù)器共享的文件,比如播放音樂或者視頻。
[0004]發(fā)明人在實(shí)現(xiàn)本公開的過程中,發(fā)現(xiàn)上述方式至少存在如下缺陷:在相關(guān)技術(shù)中,DLNA客戶端只能夠讀取由DLNA服務(wù)器共享的文件,并不能執(zhí)行其它操作。

【發(fā)明內(nèi)容】

[0005]為了解決相關(guān)技術(shù)中存在的問題,本公開實(shí)施例提供了一種文件讀寫方法和裝置。所述技術(shù)方案如下:
[0006]根據(jù)本公開實(shí)施例的第一方面,提供了一種文件讀寫方法,用于數(shù)字生活網(wǎng)絡(luò)聯(lián)盟DLNA服務(wù)器中,所述方法包括:
[0007]接收DLNA客戶端通過應(yīng)用層協(xié)議發(fā)送的連接建立請(qǐng)求;
[0008]根據(jù)所述連接建立請(qǐng)求與所述DLNA客戶端建立通訊連接;
[0009]通過所述通訊連接和預(yù)定端口接收所述DLNA客戶端發(fā)送的寫文件請(qǐng)求,所述寫文件請(qǐng)求攜帶有至少一個(gè)請(qǐng)求字段;
[0010]讀取所述請(qǐng)求字段并對(duì)所述請(qǐng)求字段進(jìn)行解析得到動(dòng)作參數(shù)和文件路徑;
[0011]根據(jù)所述動(dòng)作參數(shù)在與所述文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作。
[0012]可選地,所述根據(jù)所述動(dòng)作參數(shù)在與所述文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作,包括:
[0013]當(dāng)所述動(dòng)作參數(shù)為上傳參數(shù)時(shí),根據(jù)所述文件路徑在與所述文件路徑對(duì)應(yīng)的位置創(chuàng)建空文件;
[0014]通過所述通訊連接和所述預(yù)定端口向所述DLNA客戶端發(fā)送文件上傳指令;
[0015]通過所述通訊連接和所述預(yù)定端口接收所述DLNA客戶端發(fā)送的文件流,所述文件流是所述DLNA客戶端在接收到所述文件上傳指令后發(fā)送的;
[0016]將接收到的所述文件流寫入所述空文件中,得到所述DLNA客戶端上傳的文件。
[0017]可選地,所述根據(jù)所述動(dòng)作參數(shù)在與所述文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作,包括:
[0018]當(dāng)所述動(dòng)作參數(shù)為新建參數(shù)時(shí),調(diào)用預(yù)定新建接口在與所述文件路徑對(duì)應(yīng)的位置創(chuàng)建一個(gè)新建文件夾。[0019]可選地,所述根據(jù)所述動(dòng)作參數(shù)在與所述文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作,包括:
[0020]當(dāng)所述動(dòng)作參數(shù)為重命名參數(shù)時(shí),讀取所述寫文件請(qǐng)求中包含的目標(biāo)名稱;
[0021]根據(jù)所述文件路徑查找并獲取與所述文件路徑對(duì)應(yīng)的位置的文件/文件夾;
[0022]調(diào)用預(yù)定重命名接口將所述文件/文件夾的名稱修改為所述目標(biāo)名稱。
[0023]可選地,所述根據(jù)所述動(dòng)作參數(shù)在與所述文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作,包括:
[0024]當(dāng)所述動(dòng)作參數(shù)為刪除參數(shù)時(shí),根據(jù)所述文件路徑查找并獲取與所述文件路徑對(duì)應(yīng)的位置的文件/文件夾;
[0025]調(diào)用預(yù)定刪除接口對(duì)所述文件/文件夾進(jìn)行刪除。
[0026]可選地,所述根據(jù)所述通訊連接建立請(qǐng)求與所述DLNA客戶端建立連接,包括:
[0027]當(dāng)所述連接建立請(qǐng)求中攜帶有指定使用傳輸控制協(xié)議TCP進(jìn)行連接的指示時(shí),讀取所述連接建立請(qǐng)求中攜帶的所述指示;
[0028]根據(jù)所述指示與所述DLNA客戶端建立TCP連接。
[0029]可選地,所述方法還包括:
[0030]預(yù)先創(chuàng)建滿足自定義協(xié)議的所述預(yù)定端口 ;
[0031]其中,所述自定義協(xié)議用于規(guī)定通過所述預(yù)定端口發(fā)送的寫文件請(qǐng)求中包括所述DLNA服務(wù)器對(duì)應(yīng)的IP地址、所述預(yù)定端口的端口號(hào)、用于表示當(dāng)前請(qǐng)求的類型為寫文件請(qǐng)求的請(qǐng)求標(biāo)識(shí)、所述文件路徑以及所述動(dòng)作參數(shù)。
[0032]根據(jù)本公開實(shí)施例的第二方面,提供了一種文件讀寫裝置,用于數(shù)字生活網(wǎng)絡(luò)聯(lián)盟DLNA服務(wù)器中,所述裝置包括:
[0033]請(qǐng)求連接模塊,用于接收DLNA客戶端通過應(yīng)用層協(xié)議發(fā)送的連接建立請(qǐng)求;
[0034]連接建立模塊,用于根據(jù)所述連接建立請(qǐng)求與所述DLNA客戶端建立通訊連接;
[0035]請(qǐng)求接收模塊,用于通過所述通訊連接和預(yù)定端口接收所述DLNA客戶端發(fā)送的寫文件請(qǐng)求,所述寫文件請(qǐng)求攜帶有至少一個(gè)請(qǐng)求字段;
[0036]請(qǐng)求解析模塊,用于讀取所述請(qǐng)求字段并對(duì)所述請(qǐng)求字段進(jìn)行解析得到動(dòng)作參數(shù)和文件路徑;
[0037]操作執(zhí)行模塊,用于根據(jù)所述動(dòng)作參數(shù)在與所述文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作。
[0038]可選地,所述操作執(zhí)行模塊,包括:文件創(chuàng)建單元、指令發(fā)送單元、文件接收單元和文件寫入單元;
[0039]所述文件創(chuàng)建單元,用于當(dāng)所述動(dòng)作參數(shù)為上傳參數(shù)時(shí),根據(jù)所述文件路徑在與所述文件路徑對(duì)應(yīng)的位置創(chuàng)建空文件;
[0040]所述指令發(fā)送單元,用于通過所述通訊連接和所述預(yù)定端口向所述DLNA客戶端發(fā)送文件上傳指令;
[0041]所述文件接收單元,用于通過所述通訊連接和所述預(yù)定端口接收所述DLNA客戶端發(fā)送的文件流,所述文件流是所述DLNA客戶端在接收到所述文件上傳指令后發(fā)送的;
[0042]所述文件寫入單元,用于將接收到的所述文件流寫入所述空文件中,得到所述DLNA客戶端上傳的文件。[0043]可選地,所述操作執(zhí)行模塊,包括:文件新建單元;
[0044]所述文件新建單元,用于當(dāng)所述動(dòng)作參數(shù)為新建參數(shù)時(shí),調(diào)用預(yù)定新建接口在與所述文件路徑對(duì)應(yīng)的位置創(chuàng)建一個(gè)新建文件夾。
[0045]可選地,所述操作執(zhí)行模塊,包括:名稱讀取單元、文件查找單元和名稱修改單元;
[0046]所述名稱讀取單元,用于當(dāng)所述動(dòng)作參數(shù)為重命名參數(shù)時(shí),讀取所述寫文件請(qǐng)求中包含的目標(biāo)名稱;
[0047]所述文件查找單元,用于根據(jù)所述文件路徑查找并獲取與所述文件路徑對(duì)應(yīng)的位置的文件/文件夾;
[0048]所述名稱修改單元,用于調(diào)用預(yù)定重命名接口將所述文件/文件夾的名稱修改為所述目標(biāo)名稱。
[0049]可選地,所述操作執(zhí)行模塊,包括:路徑查找單元和文件刪除單元;
[0050]所述路徑查找單元,用于當(dāng)所述動(dòng)作參數(shù)為刪除參數(shù)時(shí),根據(jù)所述文件路徑查找并獲取與所述文件路徑對(duì)應(yīng)的位置的文件/文件夾;
[0051]所述文件刪除單元,用于調(diào)用預(yù)定刪除接口對(duì)所述文件/文件夾進(jìn)行刪除。
[0052]可選地,所述連接建立模塊,包括:指示讀取單元和連接建立單元;
[0053]所述指示讀取單元,用于當(dāng)所述連接建立請(qǐng)求中攜帶有指定使用傳輸控制協(xié)議TCP進(jìn)行連接的指示時(shí),讀取所述連接建立請(qǐng)求中攜帶的所述指示;
[0054]所述連接建立單元,用于根據(jù)所述指示與所述DLNA客戶端建立TCP連接。
[0055]可選地,所述裝置還包括:
[0056]端口創(chuàng)建模塊,用于預(yù)先創(chuàng)建滿足自定義協(xié)議的所述預(yù)定端口 ;
[0057]其中,所述自定義協(xié)議用于規(guī)定通過所述預(yù)定端口發(fā)送的寫文件請(qǐng)求中包括所述DLNA服務(wù)器對(duì)應(yīng)的IP地址、所述預(yù)定端口的端口號(hào)、用于表示當(dāng)前請(qǐng)求的類型為寫文件請(qǐng)求的請(qǐng)求標(biāo)識(shí)、所述文件路徑以及所述動(dòng)作參數(shù)。
[0058]根據(jù)本公開實(shí)施例的第三方面,提供了一種文件讀寫裝置,包括:
[0059]處理器;
[0060]用于存儲(chǔ)所述處理器的可執(zhí)行指令的存儲(chǔ)器;
[0061]其中,所述處理器被配置為:
[0062]接收數(shù)字生活網(wǎng)絡(luò)聯(lián)盟DLNA客戶端通過應(yīng)用層協(xié)議發(fā)送的連接建立請(qǐng)求;
[0063]根據(jù)所述連接建立請(qǐng)求與所述DLNA客戶端建立通訊連接;
[0064]通過所述通訊連接和預(yù)定端口接收所述DLNA客戶端發(fā)送的寫文件請(qǐng)求,所述寫文件請(qǐng)求攜帶有至少一個(gè)請(qǐng)求字段;
[0065]讀取所述請(qǐng)求字段并對(duì)所述請(qǐng)求字段進(jìn)行解析得到動(dòng)作參數(shù)和文件路徑;
[0066]根據(jù)所述動(dòng)作參數(shù)在與所述文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作。
[0067]本公開實(shí)施例提供的技術(shù)方案的一些有益效果可以包括:
[0068]通過DLNA服務(wù)器在接收到DLNA客戶端通過應(yīng)用層協(xié)議發(fā)送的連接建立請(qǐng)求后,根據(jù)連接建立請(qǐng)求與DLNA客戶端建立通訊連接,然后通過上述通訊連接和預(yù)定端口接收DLNA客戶端發(fā)送的寫文件請(qǐng)求,并在讀取寫文件請(qǐng)求中包含的請(qǐng)求字段之后對(duì)讀取到的請(qǐng)求字段進(jìn)行解析得到動(dòng)作參數(shù)和文件路徑,然后根據(jù)動(dòng)作參數(shù)在與文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作;解決了相關(guān)技術(shù)中DLNA客戶端只能夠讀取由DLNA服務(wù)器共享的文件,并不能執(zhí)行其它操作的問題;實(shí)現(xiàn)了 DLNA客戶端能夠向DLNA服務(wù)器寫文件的效果。
[0069]應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性的,并不能限制本公開。
【專利附圖】

【附圖說明】
[0070]為了更清楚地說明本公開的實(shí)施例,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本公開的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0071]圖1是根據(jù)一示例性實(shí)施例示出的一種文件讀寫方法的流程圖;
[0072]圖2是根據(jù)另一示例性實(shí)施例示出的一種文件讀寫方法的流程圖;
[0073]圖3是根據(jù)一示例性實(shí)施例示出的一種文件讀寫裝置的示意圖;
[0074]圖4是根據(jù)另一示例性實(shí)施例示出的一種文件讀寫裝置的示意圖;
[0075]圖5是根據(jù)本公開一示例性實(shí)施例示出的一種文件讀寫裝置的框圖。
[0076]通過上述附圖,已示出本公開明確的實(shí)施例,后文中將有更詳細(xì)的描述。這些附圖和文字描述并不是為了通過任何方式限制本公開構(gòu)思的范圍,而是通過參考特定實(shí)施例為本領(lǐng)域技術(shù)人員說明本公開的概念。
【具體實(shí)施方式】
[0077]為了使本公開的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本公開作進(jìn)一步地詳細(xì)描述,顯然,所描述的實(shí)施例僅僅是本公開一部份實(shí)施例,而不是全部的實(shí)施例?;诒竟_中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本公開保護(hù)的范圍。
[0078]在介紹本公開提供的文件讀寫方法之前,首先需要介紹下本公開涉及的DLNA服務(wù)器。DLNA服務(wù)器是用于實(shí)現(xiàn)圖片、音樂、視頻等媒體內(nèi)容的共享的服務(wù)器,該DLNA服務(wù)器可以是用于實(shí)現(xiàn)上述功能的計(jì)算機(jī)軟件,也可以是用于執(zhí)行上述計(jì)算機(jī)軟件的計(jì)算機(jī)或者計(jì)算機(jī)系統(tǒng)。
[0079]當(dāng)DLNA服務(wù)器為用于實(shí)現(xiàn)圖片、音樂、視頻等媒體內(nèi)容的共享功能的計(jì)算機(jī)軟件時(shí),DLNA服務(wù)器可以運(yùn)行于DLNA設(shè)備上。DLNA設(shè)備可以是智能路由器,該智能路由器除了具備普通路由器所能實(shí)現(xiàn)的路由功能外,還具有獨(dú)立的操作系統(tǒng),可以由用戶自行安裝各種應(yīng)用。其中,操作系統(tǒng)可以是基于OpenWrt的深度定制操作系統(tǒng)。DLNA設(shè)備中還包括存儲(chǔ)介質(zhì),比如硬盤,該存儲(chǔ)介質(zhì)用于存儲(chǔ)圖片、音樂、視頻等文件。可選地,DLNA設(shè)備還包括USB接口,可以支持U盤、移動(dòng)硬盤之類的移動(dòng)存儲(chǔ)設(shè)備的接入。
[0080]圖1是根據(jù)一示例性實(shí)施例示出的一種文件讀寫方法的流程圖,本實(shí)施例以該文件讀寫方法應(yīng)用于DLNA服務(wù)器中來舉例說明。該文件讀寫方法可以包括如下幾個(gè)步驟:
[0081]在步驟102中,接收DLNA客戶端通過應(yīng)用層協(xié)議發(fā)送的連接建立請(qǐng)求。
[0082]在步驟104中,根據(jù)連接建立請(qǐng)求與DLNA客戶端建立通訊連接。
[0083]在步驟106中,通過通訊連接和預(yù)定端口接收DLNA客戶端發(fā)送的寫文件請(qǐng)求,寫文件請(qǐng)求攜帶有至少一個(gè)請(qǐng)求字段。[0084]在步驟108中,讀取請(qǐng)求字段并對(duì)請(qǐng)求字段進(jìn)行解析得到動(dòng)作參數(shù)和文件路徑。
[0085]在步驟110中,根據(jù)動(dòng)作參數(shù)在與文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作。
[0086]綜上所述,本實(shí)施例提供的文件讀寫方法,通過DLNA服務(wù)器在接收到DLNA客戶端通過應(yīng)用層協(xié)議發(fā)送的連接建立請(qǐng)求后,根據(jù)連接建立請(qǐng)求與DLNA客戶端建立通訊連接,然后通過上述通訊連接和預(yù)定端口接收DLNA客戶端發(fā)送的寫文件請(qǐng)求,并在讀取寫文件請(qǐng)求中包含的請(qǐng)求字段之后對(duì)讀取到的請(qǐng)求字段進(jìn)行解析得到動(dòng)作參數(shù)和文件路徑,然后根據(jù)動(dòng)作參數(shù)在與文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作;解決了相關(guān)技術(shù)中DLNA客戶端只能夠讀取由DLNA服務(wù)器共享的文件,并不能執(zhí)行其它操作的問題;實(shí)現(xiàn)了 DLNA客戶端能夠向DLNA服務(wù)器寫文件的效果。
[0087]圖2是根據(jù)另一示例性實(shí)施例示出的一種文件讀寫方法的流程圖,本實(shí)施例以該文件讀寫方法應(yīng)用于DLNA服務(wù)器中來舉例說明。該文件讀寫方法可以包括如下幾個(gè)步驟:
[0088]在步驟201中,預(yù)先創(chuàng)建滿足自定義協(xié)議的預(yù)定端口。
[0089]預(yù)先在DLNA服務(wù)器中創(chuàng)建滿足自定義協(xié)議的預(yù)定端口,該預(yù)定端口用于接收DLNA客戶端發(fā)送的寫文件請(qǐng)求。其中,自定義協(xié)議用于規(guī)定通過預(yù)定端口發(fā)送的寫文件請(qǐng)求中包括DLNA服務(wù)器對(duì)應(yīng)的IP (Internet Protocol,因特網(wǎng)互聯(lián)協(xié)議)地址、預(yù)定端口的端口號(hào)、用于表示當(dāng)前請(qǐng)求的類型為寫文件請(qǐng)求的請(qǐng)求標(biāo)識(shí)、文件路徑以及動(dòng)作參數(shù)。
[0090]其中,當(dāng)DLNA服務(wù)器為運(yùn)行于DLNA設(shè)備中的計(jì)算機(jī)軟件時(shí),DLNA服務(wù)器對(duì)應(yīng)的IP地址即為DLNA設(shè)備的 IP地址,DLNA客戶端通過該IP地址實(shí)現(xiàn)與DLNA服務(wù)器之間的網(wǎng)絡(luò)通信。
[0091 ] 預(yù)定端口的端口號(hào)為DLNA設(shè)備的操作系統(tǒng)分配給DLNA服務(wù)器的用于接收寫文件請(qǐng)求的預(yù)定端口的端口號(hào)。DLNA服務(wù)器通過監(jiān)聽該端口號(hào)所對(duì)應(yīng)的預(yù)定端口檢測是否有DLNA 客戶端通過 TCP/IP (Transmission Control Protocol/Internet Protocol,傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議)協(xié)議向其發(fā)來寫文件請(qǐng)求。DLNA客戶端也需要知道該端口號(hào)才能準(zhǔn)確地向DLNA服務(wù)器發(fā)送寫文件請(qǐng)求。
[0092]請(qǐng)求標(biāo)識(shí)用于表示當(dāng)前請(qǐng)求類型為寫文件請(qǐng)求,該請(qǐng)求標(biāo)識(shí)可記為“write”。當(dāng)DLNA客戶端向DLNA服務(wù)器發(fā)送的請(qǐng)求中包含請(qǐng)求標(biāo)識(shí)“write”時(shí),表示當(dāng)前請(qǐng)求類型為寫文件請(qǐng)求。
[0093]文件路徑可記為path。文件路徑path用于表示需要執(zhí)行的寫文件操作所對(duì)應(yīng)的文件/文件夾所在的位置。
[0094]動(dòng)作參數(shù)可記為action。動(dòng)作參數(shù)action可以是上傳參數(shù)upload、新建參數(shù)create、重命名參數(shù)rename以及刪除參數(shù)delete中的任意一種。動(dòng)作參數(shù)用于表示需要執(zhí)行的寫文件操作的類型,包括上傳、新建、重命名以及刪除操作中的任意一種。
[0095]綜上,DLNA客戶端在通過預(yù)定端口向DLNA服務(wù)器發(fā)送寫文件請(qǐng)求時(shí),該寫文件請(qǐng)求需要滿足自定義協(xié)議所規(guī)定的請(qǐng)求格式和內(nèi)容。比如,寫文件請(qǐng)求的內(nèi)容為:192.168.31.1:8200:/write/ folder 1/1.jpg?action=upload。其中,192.168.31.1 為DLNA服務(wù)器對(duì)應(yīng)的IP地址、8200為預(yù)定端口的端口號(hào)、write為用于表示當(dāng)前請(qǐng)求類型為寫文件請(qǐng)求的請(qǐng)求標(biāo)識(shí)、folderl/1.jpg表示文件路徑path、action=upload表示動(dòng)作參數(shù)為上傳參數(shù)。
[0096]在步驟202中,接收DLNA客戶端通過應(yīng)用層協(xié)議發(fā)送的連接建立請(qǐng)求。[0097]DLNA客戶端如需執(zhí)行寫文件操作,在向DLNA服務(wù)器發(fā)送寫文件請(qǐng)求之前首先需要與DLNA服務(wù)器建立通訊連接。因此,DLNA客戶端首先通過應(yīng)用層協(xié)議向DLNA服務(wù)器發(fā)送連接建立請(qǐng)求;對(duì)應(yīng)地,DLNA服務(wù)器接收DLNA客戶端通過應(yīng)用層協(xié)議發(fā)送的連接建立請(qǐng)求。
[0098]其中,連接建立請(qǐng)求用于建立DLNA客戶端的Socket端口與DLNA服務(wù)器的Socket端口之間的通訊連接。DLNA客戶端可以通過HTTP (Hypertext transfer protocol,超文本傳輸協(xié)議)協(xié)議或者自定義的應(yīng)用層協(xié)議向DLNA服務(wù)器發(fā)送連接建立請(qǐng)求。
[0099]在步驟203中,根據(jù)連接建立請(qǐng)求與DLNA客戶端建立通訊連接。
[0100]DLNA服務(wù)器根據(jù)連接建立請(qǐng)求與DLNA客戶端建立連接。DLNA服務(wù)器在接收到DLNA客戶端發(fā)送的連接建立請(qǐng)求之后,建立Socket連接,也即DLNA客戶端的Socket端口與DLNA服務(wù)器的Socket端口之間的通訊連接。
[0101]當(dāng)連接建立請(qǐng)求中攜帶有指定使用TCP (Transmission Control Protocol,傳輸控制協(xié)議)協(xié)議進(jìn)行連接的指示時(shí),本步驟可以包括如下幾個(gè)子步驟:
[0102]第一,讀取連接建立請(qǐng)求中攜帶的指示。
[0103]第二,根據(jù)指示與DLNA客戶端建立TCP連接。
[0104]DLNA客戶端在發(fā)送連接建立請(qǐng)求時(shí)可以指定使用TCP協(xié)議建立連接,其可以在連接建立請(qǐng)求中攜帶指定使用TCP協(xié)議進(jìn)行連接的指示。DLNA服務(wù)器在讀取到連接建立請(qǐng)求中包含的上述指示之后,根據(jù)指示與DLNA客戶端建立基于TCP協(xié)議的Socket連接,該Socket連接也稱為TCP連接。
[0105]進(jìn)一步地,DLNA服務(wù)器在建立完成連接之后,可以向DLNA客戶端發(fā)送連接建立響應(yīng),用于告知DLNA客戶端已經(jīng)成功建立連接。 [0106]在步驟204中,通過連接和預(yù)定端口接收DLNA客戶端發(fā)送的寫文件請(qǐng)求,寫文件請(qǐng)求攜帶有至少一個(gè)請(qǐng)求字段。
[0107]DLNA客戶端接收到DLNA服務(wù)器發(fā)送的連接建立響應(yīng)之后,通過建立的通訊連接和預(yù)定端口向DLNA服務(wù)器發(fā)送寫文件請(qǐng)求,該寫文件請(qǐng)求攜帶有至少一個(gè)請(qǐng)求字段,請(qǐng)求字段中包含有上述步驟201中介紹的自定義協(xié)議所規(guī)定的寫文件請(qǐng)求中所需包含的內(nèi)容。比如,該寫文件請(qǐng)求的內(nèi)容為:192.168.31.1:8200:/write/folderl/l.jpg?action=upload0
[0108]對(duì)應(yīng)地,DLNA服務(wù)器通過通訊連接和預(yù)定端口接收DLNA客戶端發(fā)送的寫文件請(qǐng)求。
[0109]在步驟205中,讀取請(qǐng)求字段并對(duì)請(qǐng)求字段進(jìn)行解析得到動(dòng)作參數(shù)和文件路徑。
[0110]DLNA服務(wù)器接收到寫文件請(qǐng)求之后,讀取寫文件請(qǐng)求中攜帶的請(qǐng)求字段,并對(duì)請(qǐng)求字段進(jìn)行解析得到動(dòng)作參數(shù)action和文件路徑path。其中,動(dòng)作參數(shù)action可以是上傳參數(shù)upload、新建參數(shù)create、重命名參數(shù)rename以及刪除參數(shù)delete中的任意一種。
[0111]在步驟206中,根據(jù)動(dòng)作參數(shù)在與文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作。
[0112]DLNA服務(wù)器根據(jù)動(dòng)作參數(shù)action在與文件路徑path對(duì)應(yīng)的位置進(jìn)行寫文件操作。對(duì)應(yīng)于不同的動(dòng)作參數(shù)action,本步驟可以有如下幾種可能的實(shí)現(xiàn)方式:
[0113]在第一種可能的實(shí)現(xiàn)方式中,當(dāng)動(dòng)作參數(shù)為上傳參數(shù)時(shí),根據(jù)文件路徑在與文件路徑對(duì)應(yīng)的位置創(chuàng)建空文件;通過連接和預(yù)定端口向DLNA客戶端發(fā)送文件上傳指令;通過通訊連接和預(yù)定端口接收DLNA客戶端發(fā)送的文件流;將接收到的文件流寫入空文件中,得到DLNA客戶端上傳的文件。
[0114]在DLNA客戶端需要向DLNA服務(wù)器上傳文件時(shí),DLNA客戶端首先連接至DLNA服務(wù)器。連接成功后,DLNA客戶端向DLNA服務(wù)器發(fā)送寫文件請(qǐng)求,比如:192.168.31.1:8200:/write/folderl/1.jpg?action=upload。DLNA服務(wù)器接收到寫文件請(qǐng)求之后,首先讀取到文件路徑path為folderl/1.jpg,然后根據(jù)文件路徑path在與文件路徑path對(duì)應(yīng)的位置創(chuàng)建空文件。之后,DLNA服務(wù)器通過通訊連接和預(yù)定端口向DLNA客戶端發(fā)送文件上傳指令,用于指示DLNA客戶端可以開始上傳文件。DLNA客戶端接收到文件上傳指令后,創(chuàng)建文件流,然后將需要上傳的文件寫入文件流中,并通過預(yù)定端口依此發(fā)送給DLNA服務(wù)器。DLNA服務(wù)器接收DLNA客戶端傳輸至的文件流,并將接收到的文件流寫入空文件中,最終得到DLNA客戶端上傳的文件。
[0115]在第二種 可能的實(shí)現(xiàn)方式中,當(dāng)動(dòng)作參數(shù)為新建參數(shù)時(shí),調(diào)用預(yù)定新建接口在與文件路徑對(duì)應(yīng)的位置創(chuàng)建一個(gè)新建文件夾。
[0116]當(dāng)動(dòng)作參數(shù)action=create時(shí),DLNA服務(wù)器調(diào)用預(yù)定新建接口在與文件路徑path對(duì)應(yīng)的位置創(chuàng)建一個(gè)新建文件夾。該預(yù)定新建接口可以是Iinux環(huán)境下的mkdir接口。
[0117]在第三種可能的實(shí)現(xiàn)方式中,當(dāng)動(dòng)作參數(shù)為重命名參數(shù)時(shí),讀取寫文件請(qǐng)求中包含的目標(biāo)名稱;根據(jù)文件路徑查找并獲取與文件路徑對(duì)應(yīng)的位置的文件/文件夾;調(diào)用預(yù)定重命名接口將文件/文件夾的名稱修改為目標(biāo)名稱。
[0118]當(dāng)動(dòng)作參數(shù)action=rename時(shí),DLNA服務(wù)器讀取寫文件請(qǐng)求中包含的目標(biāo)名稱,該目標(biāo)名稱為將文件/文件夾重命名之后的名稱;然后根據(jù)文件路徑path查找并獲取與文件路徑path對(duì)應(yīng)的位置的文件/文件夾,并調(diào)用預(yù)定重命名接口將文件/文件夾的名稱修改為目標(biāo)名稱。其中,預(yù)定重命名接口可以是Iinux環(huán)境下的mv接口。
[0119]在第四種可能的實(shí)現(xiàn)方式中,當(dāng)動(dòng)作參數(shù)為刪除參數(shù)時(shí),根據(jù)文件路徑查找并獲取與文件路徑對(duì)應(yīng)的位置的文件/文件夾;調(diào)用預(yù)定刪除接口對(duì)文件/文件夾進(jìn)行刪除。
[0120]當(dāng)動(dòng)作參數(shù)action=delete時(shí),DLNA服務(wù)器首先根據(jù)文件路徑path查找并獲取與文件路徑path對(duì)應(yīng)的位置的文件/文件夾,然后調(diào)用預(yù)定刪除接口對(duì)文件/文件夾進(jìn)行刪除。其中,預(yù)定刪除接口可以是Iinux環(huán)境下的rm-rf接口。
[0121]由此可見,在不同的實(shí)現(xiàn)方式中,通過配置不同的動(dòng)作參數(shù),可以實(shí)現(xiàn)上傳文件、新建文件夾、重命名文件/文件夾以及刪除文件/文件夾等寫文件操作,充分?jǐn)U展DLNA系統(tǒng)在寫文件方面的功能。
[0122]綜上所述,本實(shí)施例提供的文件讀寫方法,通過DLNA服務(wù)器在接收到DLNA客戶端通過應(yīng)用層協(xié)議發(fā)送的連接建立請(qǐng)求后,根據(jù)連接建立請(qǐng)求與DLNA客戶端建立通訊連接,然后通過上述通訊連接和預(yù)定端口接收DLNA客戶端發(fā)送的寫文件請(qǐng)求,并在讀取寫文件請(qǐng)求中包含的請(qǐng)求字段之后對(duì)讀取到的請(qǐng)求字段進(jìn)行解析得到動(dòng)作參數(shù)和文件路徑,然后根據(jù)動(dòng)作參數(shù)在與文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作;解決了相關(guān)技術(shù)中DLNA客戶端只能夠讀取由DLNA服務(wù)器共享的文件,并不能執(zhí)行其它操作的問題;實(shí)現(xiàn)了 DLNA客戶端能夠向DLNA服務(wù)器寫文件的效果。
[0123]另外,本實(shí)施例通過配置不同的動(dòng)作參數(shù),實(shí)現(xiàn)了上傳文件、新建文件夾、重命名文件/文件夾以及刪除文件/文件夾等寫文件操作,充分?jǐn)U展了 DLNA系統(tǒng)在寫文件方面的功能。
[0124]下述為本公開裝置實(shí)施例,可以用于執(zhí)行本公開方法實(shí)施例。對(duì)于本公開裝置實(shí)施例中未披露的細(xì)節(jié),請(qǐng)參照本公開方法實(shí)施例。
[0125]圖3是根據(jù)一示例性實(shí)施例示出的一種文件讀寫裝置的示意圖,該文件讀寫裝置可以通過軟件、硬件或者兩者的結(jié)合實(shí)現(xiàn)成為DLNA服務(wù)器的部分或者全部。該文件讀寫裝置可以包括:請(qǐng)求連接模塊310、連接建立模塊320、請(qǐng)求接收模塊330、請(qǐng)求解析模塊340和操作執(zhí)行模塊350。
[0126]請(qǐng)求連接模塊310,被配置為接收DLNA客戶端通過應(yīng)用層協(xié)議發(fā)送的連接建立請(qǐng)求。
[0127]連接建立模塊320,被配置為根據(jù)連接建立請(qǐng)求與DLNA客戶端建立通訊連接。
[0128]請(qǐng)求接收模塊330,被配置為通過通訊連接和預(yù)定端口接收DLNA客戶端發(fā)送的寫文件請(qǐng)求,寫文件請(qǐng)求攜帶有至少一個(gè)請(qǐng)求字段。
[0129]請(qǐng)求解析模塊340,被配置為讀取請(qǐng)求字段并對(duì)請(qǐng)求字段進(jìn)行解析得到動(dòng)作參數(shù)和文件路徑。
[0130]操作執(zhí)行模塊350,被配置為根據(jù)動(dòng)作參數(shù)在與文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作。
[0131 ] 綜上所述,本實(shí)施例提供的文件讀寫裝置,通過DLNA服務(wù)器在接收到DLNA客戶端通過應(yīng)用層協(xié)議發(fā)送的連接建立請(qǐng)求后,根據(jù)連接建立請(qǐng)求與DLNA客戶端建立通訊連接,然后通過上述通訊連接和預(yù)定端口接收DLNA客戶端發(fā)送的寫文件請(qǐng)求,并在讀取寫文件請(qǐng)求中包含的請(qǐng)求字段之后對(duì)讀取到的請(qǐng)求字段進(jìn)行解析得到動(dòng)作參數(shù)和文件路徑,然后根據(jù)動(dòng)作參數(shù)在與文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作;解決了相關(guān)技術(shù)中DLNA客戶端只能夠讀取由DLNA服務(wù)器共享的文件,并不能執(zhí)行其它操作的問題;實(shí)現(xiàn)了 DLNA客戶端能夠向DLNA服務(wù)器寫文件的效果。
[0132]圖4是根據(jù)另一示例性實(shí)施例示出的一種文件讀寫裝置的示意圖,該文件讀寫裝置可以通過軟件、硬件或者兩者的結(jié)合實(shí)現(xiàn)成為DLNA服務(wù)器的部分或者全部。該文件讀寫裝置可以包括:請(qǐng)求連接模塊310、連接建立模塊320、請(qǐng)求接收模塊330、請(qǐng)求解析模塊340和操作執(zhí)行模塊350。
[0133]請(qǐng)求連接模塊310,被配置為接收DLNA客戶端通過應(yīng)用層協(xié)議發(fā)送的連接建立請(qǐng)求。
[0134]連接建立模塊320,被配置為根據(jù)連接建立請(qǐng)求與DLNA客戶端建立通訊連接。
[0135]該連接建立模塊320,可以包括:指示讀取單元320a和連接建立單元320b。
[0136]指示讀取單元320a,被配置為當(dāng)連接建立請(qǐng)求中攜帶有指定使用傳輸控制協(xié)議TCP進(jìn)行連接的指示時(shí),讀取連接建立請(qǐng)求中攜帶的指示。
[0137]連接建立單元320b,被配置為根據(jù)指示與DLNA客戶端建立TCP連接。
[0138]請(qǐng)求接收模塊330,被配置為通過通訊連接和預(yù)定端口接收DLNA客戶端發(fā)送的寫文件請(qǐng)求,寫文件請(qǐng)求攜帶有至少一個(gè)請(qǐng)求字段。
[0139]請(qǐng)求解析模塊340,被配置為讀取請(qǐng)求字段并對(duì)請(qǐng)求字段進(jìn)行解析得到動(dòng)作參數(shù)和文件路徑。
[0140]操作執(zhí)行模塊350,被配置為根據(jù)動(dòng)作參數(shù)在與文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作。
[0141]在另一實(shí)施例中,操作執(zhí)行模塊350,包括:文件創(chuàng)建單元350a、指令發(fā)送單元350b、文件接收單元350c和文件寫入單元350d。
[0142]文件創(chuàng)建單元350a,被配置為當(dāng)動(dòng)作參數(shù)為上傳參數(shù)時(shí),根據(jù)文件路徑在與文件路徑對(duì)應(yīng)的位置創(chuàng)建空文件。
[0143]指令發(fā)送單元350b,被配置為通過通訊連接和預(yù)定端口向DLNA客戶端發(fā)送文件上傳指令。
[0144]文件接收單元350c,被配置為通過通訊連接和預(yù)定端口接收DLNA客戶端發(fā)送的文件流,文件流是DLNA客戶端在接收到文件上傳指令后發(fā)送的。
[0145]文件寫入單元350d,被配置為將接收到的文件流寫入空文件中,得到DLNA客戶端上傳的文件。
[0146]可選地,操作執(zhí)行模塊350,包括:文件新建單元350e。
[0147]文件新建單元350e,被配置為當(dāng)動(dòng)作參數(shù)為新建參數(shù)時(shí),調(diào)用預(yù)定新建接口在與文件路徑對(duì)應(yīng)的位置創(chuàng)建一個(gè)新建文件夾。
[0148]可選地,操作執(zhí)行模塊350,包括:名稱讀取單元350f、文件查找單元350g和名稱修改單元350h。
[0149]名稱讀取單元350f,被配置為當(dāng)動(dòng)作參數(shù)為重命名參數(shù)時(shí),讀取寫文件請(qǐng)求中包含的目標(biāo)名稱。
[0150]文件查找單元350g,被配置為根據(jù)文件路徑查找并獲取與文件路徑對(duì)應(yīng)的位置的文件/文件夾。
[0151]名稱修改單元350h,被配置為調(diào)用預(yù)定重命名接口將文件/文件夾的名稱修改為目標(biāo)名稱。
[0152]可選地,操作執(zhí)行模塊350,包括:路徑查找單元350i和文件刪除單元350 j。
[0153]路徑查找單元350i,被配置為當(dāng)動(dòng)作參數(shù)為刪除參數(shù)時(shí),根據(jù)文件路徑查找并獲取與文件路徑對(duì)應(yīng)的位置的文件/文件夾。
[0154]文件刪除單元350j,被配置為調(diào)用預(yù)定刪除接口對(duì)文件/文件夾進(jìn)行刪除。
[0155]該文件讀寫裝置,還可以包括:
[0156]端口創(chuàng)建模塊360,被配置為預(yù)先創(chuàng)建滿足自定義協(xié)議的預(yù)定端口。
[0157]其中,自定義協(xié)議用于規(guī)定通過預(yù)定端口發(fā)送的寫文件請(qǐng)求中需要包括DLNA服務(wù)器對(duì)應(yīng)的IP地址、預(yù)定端口的端口號(hào)、用于表示當(dāng)前請(qǐng)求的類型為寫文件請(qǐng)求的請(qǐng)求標(biāo)識(shí)、文件路徑以及動(dòng)作參數(shù)。
[0158]綜上所述,本實(shí)施例提供的文件讀寫裝置,通過DLNA服務(wù)器在接收到DLNA客戶端通過應(yīng)用層協(xié)議發(fā)送的連接建立請(qǐng)求后,根據(jù)連接建立請(qǐng)求與DLNA客戶端建立連接,然后通過上述連接和預(yù)定端口接收DLNA客戶端發(fā)送的寫文件請(qǐng)求,并在讀取寫文件請(qǐng)求中包含的請(qǐng)求字段之后對(duì)讀取到的請(qǐng)求字段進(jìn)行解析得到動(dòng)作參數(shù)和文件路徑,然后根據(jù)動(dòng)作參數(shù)在與文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作;解決了相關(guān)技術(shù)中DLNA客戶端只能夠讀取由DLNA服務(wù)器共享的文件,并不能執(zhí)行其它操作的問題;實(shí)現(xiàn)了 DLNA客戶端能夠向DLNA服務(wù)器寫文件的效果。
[0159]另外,本實(shí)施例通過配置不同的動(dòng)作參數(shù),實(shí)現(xiàn)了上傳文件、新建文件夾、重命名文件/文件夾以及刪除文件/文件夾等寫文件操作,充分?jǐn)U展了 DLNA系統(tǒng)在寫文件方面的功能。
[0160]關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說明。
[0161]本公開實(shí)施例提供了一種文件讀寫裝置,包括:
[0162]處理器;
[0163]用于存儲(chǔ)所述處理器的可執(zhí)行指令的存儲(chǔ)器;
[0164]其中,所述處理器被配置為:
[0165]接收數(shù)字生活網(wǎng)絡(luò)聯(lián)盟DLNA客戶端通過應(yīng)用層協(xié)議發(fā)送的連接建立請(qǐng)求;
[0166]根據(jù)所述連接建立請(qǐng)求與所述DLNA客戶端建立通訊連接;
[0167]通過所述通訊連接和預(yù)定端口接收所述DLNA客戶端發(fā)送的寫文件請(qǐng)求,所述寫文件請(qǐng)求攜帶有至少一個(gè)請(qǐng)求字段;
[0168]讀取所述請(qǐng)求字段并對(duì)所述請(qǐng)求字段進(jìn)行解析得到動(dòng)作參數(shù)和文件路徑;
[0169]根據(jù)所述動(dòng)作參數(shù)在與所述文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作。
[0170]在另一實(shí)施例中,處理器還可以被配置為:所述根據(jù)所述動(dòng)作參數(shù)在與所述文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作,包括:
[0171]當(dāng)所述動(dòng)作參數(shù)為上傳參數(shù)時(shí),根據(jù)所述文件路徑在與所述文件路徑對(duì)應(yīng)的位置創(chuàng)建空文件;
[0172]通過所述通訊連接和所述預(yù)定端口向所述DLNA客戶端發(fā)送文件上傳指令;
[0173]通過所述通訊連接和所述預(yù)定端口接收所述DLNA客戶端發(fā)送的文件流,所述文件流是所述DLNA客戶端在接收到所述文件上傳指令后發(fā)送的;
[0174]將接收到的所述文件流寫入所述空文件中,得到所述DLNA客戶端上傳的文件。
[0175]在另一實(shí)施例中,處理器還可以被配置為:
[0176]所述根據(jù)所述動(dòng)作參數(shù)在與所述文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作,包括:
[0177]當(dāng)所述動(dòng)作參數(shù)為新建參數(shù)時(shí),調(diào)用預(yù)定新建接口在與所述文件路徑對(duì)應(yīng)的位置創(chuàng)建一個(gè)新建文件夾。
[0178]在另一實(shí)施例中,處理器還可以被配置為:
[0179]所述根據(jù)所述動(dòng)作參數(shù)在與所述文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作,包括:
[0180]當(dāng)所述動(dòng)作參數(shù)為重命名參數(shù)時(shí),讀取所述寫文件請(qǐng)求中包含的目標(biāo)名稱;
[0181]根據(jù)所述文件路徑查找并獲取與所述文件路徑對(duì)應(yīng)的位置的文件/文件夾;
[0182]調(diào)用預(yù)定重命名接口將所述文件/文件夾的名稱修改為所述目標(biāo)名稱。
[0183]在另一實(shí)施例中,處理器還可以被配置為:
[0184]所述根據(jù)所述動(dòng)作參數(shù)在與所述文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作,包括:
[0185]當(dāng)所述動(dòng)作參數(shù)為刪除參數(shù)時(shí),根據(jù)所述文件路徑查找并獲取與所述文件路徑對(duì)應(yīng)的位置的文件/文件夾;
[0186]調(diào)用預(yù)定刪除接口對(duì)所述文件/文件夾進(jìn)行刪除。
[0187]在另一實(shí)施例中,處理器還可以被配置為:
[0188]所述根據(jù)所述通訊連接建立請(qǐng)求與所述DLNA客戶端建立連接,包括:
[0189]當(dāng)所述連接建立請(qǐng)求中攜帶有指定使用傳輸控制協(xié)議TCP進(jìn)行連接的指示時(shí),讀取所述連接建立請(qǐng)求中攜帶的所述指示;
[0190]根據(jù)所述指示與所述DLNA客戶端建立TCP連接。
[0191]在另一實(shí)施例中,處理器還可以被配置為:
[0192]預(yù)先創(chuàng)建滿足自定義協(xié)議的所述預(yù)定端口 ;
[0193]其中,所述自定義協(xié)議用于規(guī)定通過所述預(yù)定端口發(fā)送的寫文件請(qǐng)求中包括所述DLNA服務(wù)器對(duì)應(yīng)的IP地址、所述預(yù)定端口的端口號(hào)、用于表示當(dāng)前請(qǐng)求的類型為寫文件請(qǐng)求的請(qǐng)求標(biāo)識(shí)、所述文件路徑以及所述動(dòng)作參數(shù)。
[0194]關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說明。
[0195]圖5是根據(jù)本公開一示例性實(shí)施例示出的一種用于訪問控制的裝置500的框圖。例如,裝置500可以是本公開上述實(shí)施例中涉及的DLNA服務(wù)器。裝置500可因配置或性能不同而產(chǎn)生比較大的差異,可以包括一個(gè)或一個(gè)以上中央處理器(central processingunits, CPU)522 (例如,一個(gè)或一個(gè)以上處理器)和存儲(chǔ)器532,一個(gè)或一個(gè)以上存儲(chǔ)應(yīng)用程序542或數(shù)據(jù)544的存儲(chǔ)介質(zhì)530(例如一個(gè)或一個(gè)以上海量存儲(chǔ)設(shè)備)。其中,存儲(chǔ)器532和存儲(chǔ)介質(zhì)530可以是短暫存儲(chǔ)或持久存儲(chǔ)。存儲(chǔ)在存儲(chǔ)介質(zhì)530的程序可以包括一個(gè)或一個(gè)以上模塊(圖示沒標(biāo)出),每個(gè)模塊可以包括對(duì)裝置500中的一系列指令操作。更進(jìn)一步地,中央處理器522可以設(shè)置為與存儲(chǔ)介質(zhì)530通信,在裝置500上執(zhí)行存儲(chǔ)介質(zhì)530中的一系列指令操作。
[0196]裝置500還可以包括一個(gè)或一個(gè)以上電源526,一個(gè)或一個(gè)以上有線或無線網(wǎng)絡(luò)接口 550,一個(gè)或一個(gè)以上輸入輸出接口 558,一個(gè)或一個(gè)以上鍵盤556,和/或,一個(gè)或一個(gè)以上操作系統(tǒng) 541,例如 Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM,F(xiàn)reeBSDTM 等
坐寸ο
[0197]當(dāng)存儲(chǔ)介質(zhì)530中的指令由裝置500的中央處理器522執(zhí)行時(shí),使得裝置500能夠執(zhí)行上述圖1或者圖2所述的文件讀寫方法。
[0198]本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本公開未公開的本【技術(shù)領(lǐng)域】中的公知常識(shí)或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
[0199]應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。
【權(quán)利要求】
1.一種文件讀寫方法,其特征在于,用于數(shù)字生活網(wǎng)絡(luò)聯(lián)盟DLNA服務(wù)器中,所述方法包括: 接收DLNA客戶端通過應(yīng)用層協(xié)議發(fā)送的連接建立請(qǐng)求; 根據(jù)所述連接建立請(qǐng)求與所述DLNA客戶端建立通訊連接; 通過所述通訊連接和預(yù)定端口接收所述DLNA客戶端發(fā)送的寫文件請(qǐng)求,所述寫文件請(qǐng)求攜帶有至少一個(gè)請(qǐng)求字段; 讀取所述請(qǐng)求字段并對(duì)所述請(qǐng)求字段進(jìn)行解析得到動(dòng)作參數(shù)和文件路徑; 根據(jù)所述動(dòng)作參數(shù)在與所述文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述動(dòng)作參數(shù)在與所述文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作,包括: 當(dāng)所述動(dòng)作參數(shù)為上傳參數(shù)時(shí),根據(jù)所述文件路徑在與所述文件路徑對(duì)應(yīng)的位置創(chuàng)建空文件; 通過所述通訊連接和所述預(yù)定端口向所述DLNA客戶端發(fā)送文件上傳指令; 通過所述通訊連接和所述預(yù)定端口接收所述DLNA客戶端發(fā)送的文件流,所述文件流是所述DLNA客戶端在接收 到所述文件上傳指令后發(fā)送的; 將接收到的所述文件流寫入所述空文件中,得到所述DLNA客戶端上傳的文件。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述動(dòng)作參數(shù)在與所述文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作,包括: 當(dāng)所述動(dòng)作參數(shù)為新建參數(shù)時(shí),調(diào)用預(yù)定新建接口在與所述文件路徑對(duì)應(yīng)的位置創(chuàng)建 Iv新建文件夾。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述動(dòng)作參數(shù)在與所述文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作,包括: 當(dāng)所述動(dòng)作參數(shù)為重命名參數(shù)時(shí),讀取所述寫文件請(qǐng)求中包含的目標(biāo)名稱; 根據(jù)所述文件路徑查找并獲取與所述文件路徑對(duì)應(yīng)的位置的文件/文件夾; 調(diào)用預(yù)定重命名接口將所述文件/文件夾的名稱修改為所述目標(biāo)名稱。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述動(dòng)作參數(shù)在與所述文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作,包括: 當(dāng)所述動(dòng)作參數(shù)為刪除參數(shù)時(shí),根據(jù)所述文件路徑查找并獲取與所述文件路徑對(duì)應(yīng)的位置的文件/文件夾; 調(diào)用預(yù)定刪除接口對(duì)所述文件/文件夾進(jìn)行刪除。
6.根據(jù)權(quán)利要求1至5任一所述的方法,其特征在于,所述根據(jù)所述通訊連接建立請(qǐng)求與所述DLNA客戶端建立連接,包括: 當(dāng)所述連接建立請(qǐng)求中攜帶有指定使用傳輸控制協(xié)議TCP進(jìn)行連接的指示時(shí),讀取所述連接建立請(qǐng)求中攜帶的所述指示; 根據(jù)所述指示與所述DLNA客戶端建立TCP連接。
7.根據(jù)權(quán)利要求1至5任一所述的方法,其特征在于,所述方法還包括: 預(yù)先創(chuàng)建滿足自定義協(xié)議的所述預(yù)定端口; 其中,所述自定義協(xié)議用于規(guī)定通過所述預(yù)定端口發(fā)送的寫文件請(qǐng)求中包括所述DLNA服務(wù)器對(duì)應(yīng)的IP地址、所述預(yù)定端口的端口號(hào)、用于表示當(dāng)前請(qǐng)求的類型為寫文件請(qǐng)求的請(qǐng)求標(biāo)識(shí)、所述文件路徑以及所述動(dòng)作參數(shù)。
8.一種文件讀寫裝置,其特征在于,用于數(shù)字生活網(wǎng)絡(luò)聯(lián)盟DLNA服務(wù)器中,所述裝置包括: 請(qǐng)求連接模塊,用于接收DLNA客戶端通過應(yīng)用層協(xié)議發(fā)送的連接建立請(qǐng)求; 連接建立模塊,用于根據(jù)所述連接建立請(qǐng)求與所述DLNA客戶端建立通訊連接; 請(qǐng)求接收模塊,用于通過所述通訊連接和預(yù)定端口接收所述DLNA客戶端發(fā)送的寫文件請(qǐng)求,所述寫文件請(qǐng)求攜帶有至少一個(gè)請(qǐng)求字段; 請(qǐng)求解析模塊,用于讀取所述請(qǐng)求字段并對(duì)所述請(qǐng)求字段進(jìn)行解析得到動(dòng)作參數(shù)和文件路徑; 操作執(zhí)行模塊,用于根據(jù)所述動(dòng) 作參數(shù)在與所述文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述操作執(zhí)行模塊,包括:文件創(chuàng)建單元、指令發(fā)送單元、文件接收單元和文件寫入單元; 所述文件創(chuàng)建單元,用于當(dāng)所述動(dòng)作參數(shù)為上傳參數(shù)時(shí),根據(jù)所述文件路徑在與所述文件路徑對(duì)應(yīng)的位置創(chuàng)建空文件; 所述指令發(fā)送單元,用于通過所述通訊連接和所述預(yù)定端口向所述DLNA客戶端發(fā)送文件上傳指令; 所述文件接收單元,用于通過所述通訊連接和所述預(yù)定端口接收所述DLNA客戶端發(fā)送的文件流,所述文件流是所述DLNA客戶端在接收到所述文件上傳指令后發(fā)送的; 所述文件寫入單元,用于將接收到的所述文件流寫入所述空文件中,得到所述DLNA客戶端上傳的文件。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述操作執(zhí)行模塊,包括:文件新建單元; 所述文件新建單元,用于當(dāng)所述動(dòng)作參數(shù)為新建參數(shù)時(shí),調(diào)用預(yù)定新建接口在與所述文件路徑對(duì)應(yīng)的位置創(chuàng)建一個(gè)新建文件夾。
11.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述操作執(zhí)行模塊,包括:名稱讀取單元、文件查找單元和名稱修改單元; 所述名稱讀取單元,用于當(dāng)所述動(dòng)作參數(shù)為重命名參數(shù)時(shí),讀取所述寫文件請(qǐng)求中包含的目標(biāo)名稱; 所述文件查找單元,用于根據(jù)所述文件路徑查找并獲取與所述文件路徑對(duì)應(yīng)的位置的文件/文件夾; 所述名稱修改單元,用于調(diào)用預(yù)定重命名接口將所述文件/文件夾的名稱修改為所述目標(biāo)名稱。
12.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述操作執(zhí)行模塊,包括:路徑查找單元和文件刪除單兀; 所述路徑查找單元,用于當(dāng)所述動(dòng)作參數(shù)為刪除參數(shù)時(shí),根據(jù)所述文件路徑查找并獲取與所述文件路徑對(duì)應(yīng)的位置的文件/文件夾; 所述文件刪除單元,用于調(diào)用預(yù)定刪除接口對(duì)所述文件/文件夾進(jìn)行刪除。
13.根據(jù)權(quán)利要求8至12任一所述的裝置,其特征在于,所述連接建立模塊,包括:指示讀取單元和連接建立單元; 所述指示讀取單元,用于當(dāng)所述連接建立請(qǐng)求中攜帶有指定使用傳輸控制協(xié)議TCP進(jìn)行連接的指示時(shí),讀取所述連接建立請(qǐng)求中攜帶的所述指示; 所述連接建立單元,用于根據(jù)所述指示與所述DLNA客戶端建立TCP連接。
14.根據(jù)權(quán)利要求8至12任一所述的裝置,其特征在于,所述裝置還包括: 端口創(chuàng)建模塊,用于預(yù)先創(chuàng)建滿足自定義協(xié)議的所述預(yù)定端口 ; 其中,所述自定義協(xié)議用于規(guī)定通過所述預(yù)定端口發(fā)送的寫文件請(qǐng)求中包括所述DLNA服務(wù)器對(duì)應(yīng)的IP地址、所述預(yù)定端口的端口號(hào)、用于表示當(dāng)前請(qǐng)求的類型為寫文件請(qǐng)求的請(qǐng)求標(biāo)識(shí)、所述文件路徑以及所述動(dòng)作參數(shù)。
15.一種文件讀寫裝置,其特征在于,包括: 處理器; 用于存儲(chǔ)所述處理器的可執(zhí)行指令的存儲(chǔ)器; 其中,所述處理器被配置為: 接收數(shù)字生活網(wǎng)絡(luò)聯(lián)盟DLNA客戶端通過應(yīng)用層協(xié)議發(fā)送的連接建立請(qǐng)求; 根據(jù)所述連接建立請(qǐng)求與所述DLNA客戶端建立通訊連接; 通過所述通訊連接和預(yù)定端口接收所述DLNA客戶端發(fā)送的寫文件請(qǐng)求,所述寫文件請(qǐng)求攜帶有至少一個(gè)請(qǐng)求字段; 讀取所述請(qǐng)求字段并對(duì)所述請(qǐng)求字段進(jìn)行解析得到動(dòng)作參數(shù)和文件路徑; 根據(jù)所述動(dòng)作參數(shù)在與所述文件路徑對(duì)應(yīng)的位置進(jìn)行寫文件操作。
【文檔編號(hào)】H04L29/08GK103973772SQ201410131306
【公開日】2014年8月6日 申請(qǐng)日期:2014年4月2日 優(yōu)先權(quán)日:2014年4月2日
【發(fā)明者】劉鐵俊, 紀(jì)東方, 沈洋 申請(qǐng)人:小米科技有限責(zé)任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
杨浦区| 和平区| 保康县| 长沙市| 曲周县| 内乡县| 彭水| 巩留县| 内丘县| 和政县| 赤壁市| 东丰县| 景泰县| 汝阳县| 玛纳斯县| 河津市| 旌德县| 蓬溪县| 鄂托克前旗| 兴安县| 普兰县| 麻栗坡县| 涿州市| 宣威市| 晋宁县| 峨眉山市| 敦煌市| 荣昌县| 三河市| 荣昌县| 措勤县| 广昌县| 康平县| 胶州市| 钦州市| 舞阳县| 清流县| 班戈县| 乌兰浩特市| 怀柔区| 水富县|