過中轉服務器向所述消息接收端發(fā)送所述待傳輸文件。請參考圖3,圖3是圖1中步驟S400的一個優(yōu)選實施例的流程圖,步驟S400包括:步驟S401,所述消息發(fā)送端向所述中轉服務器發(fā)送所述待傳輸文件;步驟S402,所述中轉服務器接收并緩存所述待傳輸文件;步驟S403,所述中轉服務器根據(jù)所述消息接收端的下載請求向所述消息接收端下發(fā)所述待傳輸文件。在步驟S400中,所述中轉服務器負責緩存所述待傳輸文件,并根據(jù)所述消息接收端的下載請求下發(fā)所述待傳輸文件至所述消息接收端,因此可以實現(xiàn)離線傳輸以及保證文件傳輸?shù)目煽啃浴?br>[0042]需要說明的是,盡管在附圖中以特定順序描述了本發(fā)明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實現(xiàn)期望的結果。相反,流程圖中描繪的步驟可以改變執(zhí)行順序。附加地或備選地,可以省略某些步驟,將多個步驟合并為一個步驟執(zhí)行,和/或將一個步驟分解為多個步驟執(zhí)行。
[0043]相應地,本發(fā)明還提供了一種即時通信的文件傳輸系統(tǒng),請參考圖4,圖4是根據(jù)本發(fā)明的即時通信的文件傳輸系統(tǒng)的一種【具體實施方式】的結構示意圖,該系統(tǒng)包括消息發(fā)送端100、消息接收端200和中轉服務器300,其中:
[0044]所述消息發(fā)送端100包括連接模塊110、判斷模塊120、直接傳輸模塊130和中轉傳輸模塊140 ;
[0045]所述連接模塊110,用于啟動TCP服務,并向所述消息接收端200發(fā)送文件傳輸消息;
[0046]所述判斷模塊120,用于判斷是否接收到所述消息接收端200根據(jù)所述文件傳輸消息反饋的TCP連接請求,若是則觸發(fā)所述直接傳輸模塊130工作,若否則觸發(fā)所述中轉傳輸模塊140工作;
[0047]所述直接傳輸模塊130,用于使用點對點方式向所述消息接收端200發(fā)送待傳輸文件;
[0048]所述中轉傳輸模塊140,用于通過所述中轉服務器300向所述消息接收端200發(fā)送所述待傳輸文件;
[0049]所述消息接收端200,用于生成所述TCP連接請求,并接收所述待傳輸文件;
[0050]所述中轉服務器300,用于緩存所述待傳輸文件。
[0051]本部分出現(xiàn)的術語和名詞與前文中相同的術語或名詞具有一致的含義,例如所述“點對點方式”、“TCP連接請求”、“文件傳輸消息”等,上述術語或名詞及其涉及的工作原理均可參考前文中相關部分的描述和解釋,為了簡便起見在此不再贅述。
[0052]具體地,消息發(fā)送端100、消息接收端200和中轉服務器300之間通過網(wǎng)絡進行連接,所述網(wǎng)絡包括但不限于局域網(wǎng)、3G網(wǎng)絡、互聯(lián)網(wǎng)或其他由運營商提供的網(wǎng)絡。
[0053]所述文件傳輸消息包括:所述TCP服務的連接信息以及所述待傳輸文件的屬性信息。所述TCP服務器的連接信息用于與所述消息接收端協(xié)商建立TCP連接,所述屬性信息包括但不限于所述待傳輸文件的名稱、類型和大小。
[0054]優(yōu)選地,所述直接傳輸模塊130包括:建立連接單元131,用于與所述消息接收端200建立TCP連接;發(fā)送單元132,用于通過所述TCP連接向所述消息接收端200發(fā)送所述待傳輸文件。
[0055]優(yōu)選地,所述中轉服務器包括:緩存模塊310,用于接收并緩存所述待傳輸文件;下發(fā)模塊320,用于根據(jù)所述消息接收端200的下載請求向所述消息接收端200下發(fā)所述待傳輸文件。
[0056]消息發(fā)送端100和消息接收端200優(yōu)選地實施為客戶端程序的形式,消息發(fā)送端100和消息接收端200運行在合適的物理設備上,所述物理設備例如是安裝了 Windows、MacOS或Linux操作系統(tǒng)的個人電腦和筆記本電腦,或例如是安裝了 Syber OS、1S、Android、Symbian、Windows Mobile、Maemo、WebOS、Palm OS 或 Blackberry OS 等終端操作系統(tǒng)的智能手機和平板電腦。
[0057]一些實施例中,中轉服務器300可以由一臺服務器設備組成;另一些實施例中,該中轉服務器300也可以由分布運行在互聯(lián)網(wǎng)上的多個服務器設備組成,從所述軟件程序分離出來的各個功能模塊分別運行上述多個服務器上。上述軟件程序可以實施為包括硬件部分以及能被該硬件部分所解釋執(zhí)行的軟件部分,該硬件部分和軟件部分協(xié)同工作以實現(xiàn)中轉服務器300的功能。
[0058]本發(fā)明提供的即時通信的文件傳輸方法中涉及軟件邏輯的部分可以使用可編程邏輯器件來實現(xiàn),也可以實施為計算機程序產(chǎn)品,該程序產(chǎn)品使計算機執(zhí)行用于所示范的方法。所述計算機程序產(chǎn)品包括計算機可讀存儲介質(zhì),該介質(zhì)上包含計算機程序邏輯或代碼部分,用于實現(xiàn)上述涉及軟件邏輯的部分的各個步驟。所述計算機可讀存儲介質(zhì)可以是被安裝在計算機中的內(nèi)置介質(zhì)或者可從計算機主體拆卸的可移動介質(zhì)(例如可熱拔插的存儲設備)。所述內(nèi)置介質(zhì)包括但不限于可重寫的非易失性存儲器,例如RAM、R0M和硬盤。所述可移動介質(zhì)包括但不限于:光存儲媒體(例如CD-ROM和DVD)、磁光存儲媒體(例如MO)、磁存儲媒體(例如磁帶或移動硬盤)、具有內(nèi)置的可重寫的非易失性存儲器的媒體(例如存儲卡)和具有內(nèi)置ROM的媒體(例如ROM盒)。
[0059]本領域技術人員應當理解,任何具有適當編程裝置的計算機系統(tǒng)都能夠執(zhí)行包含在計算機程序產(chǎn)品中的本發(fā)明的方法的諸步驟。盡管本說明書中描述的多數(shù)【具體實施方式】都側重于軟件程序,但是以硬件方式實現(xiàn)本發(fā)明提供的方法的替代實施例同樣在本發(fā)明要求保護的范圍之內(nèi)。
[0060]對于本領域技術人員而言,顯然本發(fā)明不限于上述示范性實施例的細節(jié),而且在不背離本發(fā)明的精神或基本特征的情況下,能夠以其他的具體形式實現(xiàn)本發(fā)明。因此,應將實施例看作是示范性的,而且是非限制性的,本發(fā)明的范圍由所附權利要求而不是上述說明限定,在權利要求的等同要件的含義和范圍內(nèi)的所有變化均涵括在本發(fā)明內(nèi)。不應將權利要求中的任何附圖標記視為限制所涉及的權利要求。此外,顯然“包括”一詞不排除其他部件、單元或步驟,單數(shù)不排除復數(shù)。權利要求中陳述的多個部件、單元或裝置也可以由一個部件、單元或裝置通過軟件或者硬件來實現(xiàn)。
[0061]本發(fā)明所提供的即時通信的文件傳輸方法以及系統(tǒng)可以通過判斷網(wǎng)絡狀況來選擇文件傳輸?shù)木唧w方式,因此提升了即時通信中文件傳輸?shù)膫鬏斝室约氨WC文件傳輸?shù)姆€(wěn)定性。O
[0062]以上所披露的僅為本發(fā)明的一些較佳實施例,不能以此來限定本發(fā)明之權利范圍,依本發(fā)明權利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
【主權項】
1.一種即時通信的文件傳輸方法,該方法包括: 消息發(fā)送端啟動TCP服務,并向消息接收端發(fā)送文件傳輸消息; 所述消息發(fā)送端判斷是否接收到所述消息接收端根據(jù)所述文件傳輸消息返回的TCP連接請求; 若是,則所述消息發(fā)送端使用點對點方式向所述消息接收端發(fā)送待傳輸文件; 若否,則所述消息發(fā)送端通過中轉服務器向所述消息接收端發(fā)送所述待傳輸文件。2.根據(jù)權利要求1所述的方法,其中,所述文件傳輸消息包括: 所述TCP服務的連接信息以及所述待傳輸文件的屬性信息。3.根據(jù)權利要求1所述的方法,其中,所述消息發(fā)送端使用點對點方式向所述消息接收端發(fā)送待傳輸文件包括: 所述消息發(fā)送端與所述消息接收端之間建立TCP連接; 所述消息發(fā)送端通過所述TCP連接向所述消息接收端發(fā)送所述待傳輸文件。4.根據(jù)權利要求1所述的方法,其中,所述消息發(fā)送端通過中轉服務器向所述消息接收端發(fā)送所述待傳輸文件包括: 所述消息發(fā)送端向所述中轉服務器發(fā)送所述待傳輸文件; 所述中轉服務器接收并緩存所述待傳輸文件; 所述中轉服務器根據(jù)所述消息接收端的下載請求向所述消息接收端下發(fā)所述待傳輸文件。5.一種即時通信的文件傳輸系統(tǒng),該系統(tǒng)包括消息發(fā)送端、消息接收端和中轉服務器,其中: 所述消息發(fā)送端包括連接模塊、判斷模塊、直接傳輸模塊和中轉傳輸模塊; 所述連接模塊,用于啟動TCP服務,并向所述消息接收端發(fā)送文件傳輸消息; 所述判斷模塊,用于判斷是否接收到所述消息接收端根據(jù)所述文件傳輸消息反饋的TCP連接請求,若是則觸發(fā)所述直接傳輸模塊工作,若否則觸發(fā)所述中轉傳輸模塊工作;所述直接傳輸模塊,用于使用點對點方式向所述消息接收端發(fā)送待傳輸文件; 所述中轉傳輸模塊,用于通過所述中轉服務器向所述消息接收端發(fā)送所述待傳輸文件; 所述消息接收端,用于生成所述TCP連接請求,并接收所述待傳輸文件; 所述中轉服務器,用于緩存所述待傳輸文件。6.根據(jù)權利要求5所述的系統(tǒng),其中,所述文件傳輸消息包括: 所述TCP服務的連接信息以及所述待傳輸文件的屬性信息。7.根據(jù)權利要求5所述的系統(tǒng),其中,所述直接傳輸模塊包括: 建立連接單元,用于與所述消息接收端建立TCP連接; 發(fā)送單元,用于通過所述TCP連接向所述消息接收端發(fā)送所述待傳輸文件。8.根據(jù)權利要求5所述的系統(tǒng),其中,所述中轉服務器包括: 緩存模塊,用于接收并緩存所述待傳輸文件; 下發(fā)模塊,用于根據(jù)所述消息接收端的下載請求向所述消息接收端下發(fā)所述待傳輸文件。
【專利摘要】本發(fā)明提供了一種即時通信的文件傳輸方法,該方法包括:消息發(fā)送端啟動TCP服務,并向消息接收端發(fā)送文件傳輸消息;所述消息發(fā)送端判斷是否接收到所述消息接收端根據(jù)所述文件傳輸消息返回的TCP連接請求;若是,則所述消息發(fā)送端使用點對點方式向所述消息接收端發(fā)送待傳輸文件;若否,則所述消息發(fā)送端通過中轉服務器向所述消息接收端發(fā)送所述待傳輸文件。相應地,本發(fā)明還提供了一種即時通信的文件傳輸系統(tǒng)。實施本發(fā)明可以因此即時通信中文件傳輸?shù)膫鬏斝室约氨WC文件傳輸?shù)姆€(wěn)定性。
【IPC分類】H04L12/58, H04L29/08
【公開號】CN105187301
【申請?zhí)枴緾N201510566000
【發(fā)明人】衣春雷
【申請人】北京元心科技有限公司
【公開日】2015年12月23日
【申請日】2015年9月8日