即時(shí)通信方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種即時(shí)通信方法及系統(tǒng),本發(fā)明即時(shí)通信方法,包括:源客戶端對(duì)獲取的待發(fā)送文件進(jìn)行編碼,并對(duì)編碼后的待發(fā)送文件進(jìn)行加密,獲得加密后的待發(fā)送文件,并向服務(wù)器發(fā)送文件傳輸請(qǐng)求消息,由服務(wù)器向目的客戶端發(fā)送文件傳輸請(qǐng)求消息,目的客戶端接收服務(wù)器發(fā)送的文件傳輸請(qǐng)求消息并對(duì)文件傳輸請(qǐng)求消息進(jìn)行解析,獲得源客戶端的標(biāo)識(shí)信息、加密后的待發(fā)送文件以及加密秘鑰,并采用加密秘鑰對(duì)加密后的待發(fā)送文件進(jìn)行解密,獲得解密后的待發(fā)送文件,并對(duì)解密后的待發(fā)送文件進(jìn)行解碼,獲得待發(fā)送文件,從而保證了待發(fā)送文件在傳輸過(guò)程中的安全性。
【專利說(shuō)明】即時(shí)通信方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種即時(shí)通信方法及系統(tǒng)。
【背景技術(shù)】
[0002]由于可擴(kuò)展通訊和表不協(xié)議(ExtensibleMessaging and Presence Protocol,簡(jiǎn)稱XMPP)的擴(kuò)展性和靈活性較好,因此,XMPP協(xié)議成為當(dāng)前的即時(shí)通信主要采用的協(xié)議。
[0003]XMPP支持S0CKS5字節(jié)流傳輸,現(xiàn)有技術(shù)中,一般通過(guò)S0CKS5傳輸文件,S0CKS5是一個(gè)代理協(xié)議,文件傳輸具體過(guò)程為:源客戶端與S0CKS5代理服務(wù)器建立連接,連接建立后源客戶端向代理服務(wù)器發(fā)送代理請(qǐng)求消息,代理服務(wù)器確定能夠進(jìn)行代理時(shí)向源客戶端發(fā)送代理響應(yīng)消息,源客戶端則可以將文件發(fā)送給代理服務(wù)器,由代理服務(wù)器將字節(jié)流格式的文件轉(zhuǎn)發(fā)給目的客戶端,而S0CKS5代理服務(wù)器直接發(fā)送待發(fā)送文件的字節(jié)流,未對(duì)待發(fā)送文件進(jìn)行安全處理,因此,不能保證文件傳輸過(guò)程中文件的安全性。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供一種即時(shí)通信方法及系統(tǒng),以解決現(xiàn)有技術(shù)中傳輸文件時(shí)不能保證文件傳輸過(guò)程中文件的安全性的問(wèn)題。
[0005]本發(fā)明的第一個(gè)方面提供一種即時(shí)通信方法,包括:
[0006]源客戶端對(duì)獲取的待發(fā)送文件進(jìn)行編碼,并對(duì)編碼后的待發(fā)送文件進(jìn)行加密,獲得加密后的待發(fā)送文件;
[0007]所述源客戶端向服務(wù)器發(fā)送文件傳輸請(qǐng)求消息,所述文件傳輸請(qǐng)求消息包含所述源客戶端的標(biāo)識(shí)信息、所述加密后的待發(fā)送文件以及對(duì)所述待發(fā)送文件進(jìn)行加密的加密秘鑰;
[0008]所述服務(wù)器向目的客戶端發(fā)送所述文件傳輸請(qǐng)求消息;
[0009]所述目的客戶端接收所述服務(wù)器發(fā)送的所述文件傳輸請(qǐng)求消息;
[0010]所述目的客戶端對(duì)所述文件傳輸請(qǐng)求消息進(jìn)行解析,獲得所述源客戶端的標(biāo)識(shí)信息、所述加密后的待發(fā)送文件以及所述加密秘鑰;
[0011]所述目的客戶端采用所述加密秘鑰對(duì)所述加密后的待發(fā)送文件進(jìn)行解密,獲得解密后的待發(fā)送文件,并對(duì)所述解密后的待發(fā)送文件進(jìn)行解碼,獲得所述待發(fā)送文件。
[0012]在上述即時(shí)通信方法的一個(gè)實(shí)施例中,在所述源客戶端對(duì)獲取的待發(fā)送文件進(jìn)行編碼之前,還包括:
[0013]所述源客戶端向所述服務(wù)器發(fā)送連接請(qǐng)求消息,所述連接請(qǐng)求消息包含所述源客戶端的標(biāo)識(shí)信息;
[0014]所述服務(wù)器接收所述連接請(qǐng)求消息,并經(jīng)判斷獲知線程池中存在空閑線程,則為所述源客戶端分配一個(gè)空閑線程,并通過(guò)所述服務(wù)器分配的空閑線程建立與所述源客戶端的連接。
[0015]在上述即時(shí)通信方法的一個(gè)實(shí)施例中,還包括:
[0016]所述服務(wù)器經(jīng)判斷獲知所述線程池中不存在空閑線程,則判斷所述線程池中的線程的數(shù)目是否達(dá)到設(shè)定值;
[0017]所述服務(wù)器若判斷獲知所述線程池中的線程的數(shù)目未達(dá)到設(shè)定值,則創(chuàng)建新線程,并通過(guò)創(chuàng)建的所述新線程建立與所述源客戶端的連接。
[0018]在上述即時(shí)通信方法的一個(gè)實(shí)施例中,還包括:
[0019]所述服務(wù)器若判斷獲知所述線程池中的線程的數(shù)目達(dá)到設(shè)定值,則將所述源客戶端進(jìn)入等待隊(duì)列中,并通過(guò)輪詢方式判斷是否存在釋放的空閑線程;
[0020]所述服務(wù)器若判斷獲知存在釋放的空閑線程,則通過(guò)所述釋放的空閑線程建立與所述源客戶端的連接。
[0021]在上述即時(shí)通信方法的一個(gè)實(shí)施例中,所述源客戶端若判斷獲知當(dāng)前的位置服務(wù)功能已經(jīng)開(kāi)啟,則啟用全球定位系統(tǒng)GPS進(jìn)行定位,并判斷在預(yù)設(shè)時(shí)間內(nèi)是否能通過(guò)GPS定位獲得所述源客戶端的位置信息;
[0022]所述源客戶端若判斷獲知在預(yù)設(shè)時(shí)間內(nèi)不能通過(guò)GPS定位獲得所述源客戶端的位置信息,則啟用移動(dòng)網(wǎng)絡(luò)獲取所述源客戶端的位置信息;
[0023]所述源客戶端通過(guò)所述服務(wù)器向所述目的客戶端發(fā)送所述源客戶端的位置信息。
[0024]本發(fā)明的第二個(gè)方面提供一種即時(shí)通信系統(tǒng),包括:源客戶端、服務(wù)器和目的客戶端;
[0025]所述源客戶端,用于對(duì)獲取的待發(fā)送文件進(jìn)行編碼,并對(duì)編碼后的待發(fā)送文件進(jìn)行加密,獲得加密后的待發(fā)送文件;向服務(wù)器發(fā)送文件傳輸請(qǐng)求消息,所述文件傳輸請(qǐng)求消息包含所述源客戶端的標(biāo)識(shí)信息、所述加密后的待發(fā)送文件以及對(duì)所述待發(fā)送文件進(jìn)行加密的加密秘鑰;
[0026]所述服務(wù)器,用于向目的客戶端發(fā)送所述文件傳輸請(qǐng)求消息;
[0027]所述目的客戶端,用于接收所述服務(wù)器發(fā)送的所述文件傳輸請(qǐng)求消息;對(duì)所述文件傳輸請(qǐng)求消息進(jìn)行解析,獲得所述源客戶端的標(biāo)識(shí)信息、所述加密后的待發(fā)送文件以及所述加密秘鑰;采用所述加密秘鑰對(duì)所述加密后的待發(fā)送文件進(jìn)行解密,獲得解密后的待發(fā)送文件,并對(duì)所述解密后的待發(fā)送文件進(jìn)行解碼,獲得所述待發(fā)送文件。
[0028]在上述即時(shí)通信系統(tǒng)的一個(gè)實(shí)施例中,所述源客戶端,還用于在所述源客戶端對(duì)獲取的待發(fā)送文件進(jìn)行編碼之前,向所述服務(wù)器發(fā)送連接請(qǐng)求消息,所述連接請(qǐng)求消息包含所述源客戶端的標(biāo)識(shí)信息;
[0029]所述服務(wù)器,還用于接收所述連接請(qǐng)求消息,并經(jīng)判斷獲知線程池中存在空閑線程,則為所述源客戶端分配一個(gè)空閑線程,并通過(guò)所述服務(wù)器分配的空閑線程建立與所述源客戶端的連接。
[0030]在上述即時(shí)通信系統(tǒng)的一個(gè)實(shí)施例中,所述服務(wù)器,還用于經(jīng)判斷獲知所述線程池中不存在空閑線程,則判斷所述線程池中的線程的數(shù)目是否達(dá)到設(shè)定值;若判斷獲知所述線程池中的線程的數(shù)目未達(dá)到設(shè)定值,則創(chuàng)建新線程,并通過(guò)創(chuàng)建的所述新線程建立與所述源客戶端的連接。
[0031]在上述即時(shí)通信系統(tǒng)的一個(gè)實(shí)施例中,所述服務(wù)器,還用于若判斷獲知所述線程池中的線程的數(shù)目達(dá)到設(shè)定值,則將所述源客戶端進(jìn)入等待隊(duì)列中,并通過(guò)輪詢方式判斷是否存在釋放的空閑線程;若判斷獲知存在釋放的空閑線程,則通過(guò)所述釋放的空閑線程建立與所述源客戶端的連接。
[0032]在上述即時(shí)通信系統(tǒng)的一個(gè)實(shí)施例中,所述源客戶端,還用于若判斷獲知當(dāng)前的位置服務(wù)功能已經(jīng)開(kāi)啟,則啟用全球定位系統(tǒng)GPS進(jìn)行定位,并判斷在預(yù)設(shè)時(shí)間內(nèi)是否能通過(guò)GPS定位獲得所述源客戶端的位置信息;若判斷獲知在預(yù)設(shè)時(shí)間內(nèi)不能通過(guò)GPS定位獲得所述源客戶端的位置信息,則啟用移動(dòng)網(wǎng)絡(luò)獲取所述源客戶端的位置信息;通過(guò)所述服務(wù)器向所述目的客戶端發(fā)送所述源客戶端的位置信息。
[0033]本發(fā)明提供的即時(shí)通信方法及系統(tǒng),通過(guò)源客戶端對(duì)獲取的待發(fā)送文件進(jìn)行編碼,并對(duì)編碼后的待發(fā)送文件進(jìn)行加密,獲得加密后的待發(fā)送文件,并向服務(wù)器發(fā)送文件傳輸請(qǐng)求消息,由服務(wù)器向目的客戶端發(fā)送文件傳輸請(qǐng)求消息,目的客戶端接收服務(wù)器發(fā)送的文件傳輸請(qǐng)求消息并對(duì)文件傳輸請(qǐng)求消息進(jìn)行解析,獲得源客戶端的標(biāo)識(shí)信息、加密后的待發(fā)送文件以及加密秘鑰,并采用加密秘鑰對(duì)加密后的待發(fā)送文件進(jìn)行解密,獲得解密后的待發(fā)送文件,并對(duì)解密后的待發(fā)送文件進(jìn)行解碼,獲得待發(fā)送文件,從而保證了待發(fā)送文件在傳輸過(guò)程中的安全性。
【專利附圖】
【附圖說(shuō)明】
[0034]圖1為本發(fā)明實(shí)施例一所提供的即時(shí)通信方法的流程圖;
[0035]圖2為本發(fā)明實(shí)施例二所提供的即時(shí)通信方法的流程圖;
[0036]圖3為本發(fā)明實(shí)施例三所提供的即時(shí)通信系統(tǒng)300的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0037]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0038]圖1為本發(fā)明實(shí)施例一所提供的即時(shí)通信方法的流程圖。本實(shí)施例的方法包括如下步驟:
[0039]S110、源客戶端對(duì)獲取的待發(fā)送文件進(jìn)行編碼,并對(duì)編碼后的待發(fā)送文件進(jìn)行加密,獲得加密后的待發(fā)送文件。
[0040]待發(fā)送文件例如可以為文檔、圖片等文件,源客戶端獲取到待發(fā)送文件后,可以獲得待發(fā)送文件的二進(jìn)制格式字節(jié)流,對(duì)二進(jìn)制格式字節(jié)流進(jìn)行編碼,可以使用base64對(duì)圖片或文件等待發(fā)送文件進(jìn)行編碼,再對(duì)編碼后的待發(fā)送文件進(jìn)行加密,獲得加密后的待發(fā)送文件,加密可以采用IDEA加密算法對(duì)編碼后的待發(fā)送文件進(jìn)行加密。
[0041]S120、源客戶端向服務(wù)器發(fā)送文件傳輸請(qǐng)求消息,文件傳輸請(qǐng)求消息包含源客戶端的標(biāo)識(shí)信息、加密后的待發(fā)送文件以及對(duì)待發(fā)送文件進(jìn)行加密的加密秘鑰。
[0042]源客戶端的標(biāo)識(shí)信息可以為源客戶端的用戶名信息、物理地址信息。
[0043]S130、服務(wù)器向目的客戶端發(fā)送文件傳輸請(qǐng)求消息。
[0044]S140、目的客戶端接收服務(wù)器發(fā)送的文件傳輸請(qǐng)求消息。
[0045]S150、目的客戶端對(duì)文件傳輸請(qǐng)求消息進(jìn)行解析,獲得源客戶端的標(biāo)識(shí)信息、加密后的待發(fā)送文件以及加密秘鑰。
[0046]S160、目的客戶端采用加密秘鑰對(duì)加密后的待發(fā)送文件進(jìn)行解密,獲得解密后的待發(fā)送文件,并對(duì)解密后的待發(fā)送文件進(jìn)行解碼,獲得待發(fā)送文件。
[0047]具體的,通過(guò)源客戶端對(duì)獲取的待發(fā)送文件進(jìn)行編碼,并對(duì)編碼后的待發(fā)送文件進(jìn)行加密,獲得加密后的待發(fā)送文件,并向服務(wù)器發(fā)送文件傳輸請(qǐng)求消息,由服務(wù)器向目的客戶端發(fā)送文件傳輸請(qǐng)求消息,目的客戶端接收服務(wù)器發(fā)送的文件傳輸請(qǐng)求消息并對(duì)文件傳輸請(qǐng)求消息進(jìn)行解析,獲得源客戶端的標(biāo)識(shí)信息、加密后的待發(fā)送文件以及加密秘鑰,并采用加密秘鑰對(duì)加密后的待發(fā)送文件進(jìn)行解密,獲得解密后的待發(fā)送文件,并對(duì)解密后的待發(fā)送文件進(jìn)行解碼,獲得待發(fā)送文件。
[0048]本實(shí)施例提供的即時(shí)通信方法,通過(guò)源客戶端對(duì)獲取的待發(fā)送文件進(jìn)行編碼,并對(duì)編碼后的待發(fā)送文件進(jìn)行加密,獲得加密后的待發(fā)送文件,并向服務(wù)器發(fā)送文件傳輸請(qǐng)求消息,由服務(wù)器向目的客戶端發(fā)送文件傳輸請(qǐng)求消息,目的客戶端接收服務(wù)器發(fā)送的文件傳輸請(qǐng)求消息并對(duì)文件傳輸請(qǐng)求消息進(jìn)行解析,獲得源客戶端的標(biāo)識(shí)信息、加密后的待發(fā)送文件以及加密秘鑰,并采用加密秘鑰對(duì)加密后的待發(fā)送文件進(jìn)行解密,獲得解密后的待發(fā)送文件,并對(duì)解密后的待發(fā)送文件進(jìn)行解碼,獲得待發(fā)送文件,從而保證了待發(fā)送文件在傳輸過(guò)程中的安全性。
[0049]圖2為本發(fā)明實(shí)施例二所提供的即時(shí)通信方法的流程圖。參照?qǐng)D2,本實(shí)施例的方法可以包括:
[0050]S201、源客戶端向服務(wù)器發(fā)送連接請(qǐng)求消息,連接請(qǐng)求消息包含源客戶端的標(biāo)識(shí)信息。
[0051]S202、服務(wù)器接收連接請(qǐng)求消息,判斷線程池中是否存在空閑線程,若存在空閑線程,則執(zhí)行S203,否則執(zhí)行S204。
[0052]S203、服務(wù)器為源客戶端分配一個(gè)空閑線程,并通過(guò)分配的空閑線程建立與源客戶端的連接,接著執(zhí)行S207。
[0053]S204、服務(wù)器判斷線程池中的線程的數(shù)目是否達(dá)到設(shè)定值。若線程池中的線程的數(shù)目未達(dá)到設(shè)定值則執(zhí)行S205,若線程池中的線程的數(shù)目達(dá)到設(shè)定值則執(zhí)行S206。
[0054]S205、服務(wù)器創(chuàng)建新線程,并通過(guò)創(chuàng)建的新線程建立與源客戶端的連接,接著執(zhí)行S207。
[0055]S206、服務(wù)器將源客戶端進(jìn)入等待隊(duì)列中,并通過(guò)輪詢方式判斷是否存在釋放的空閑線程,服務(wù)器若判斷獲知存在釋放的空閑線程,則通過(guò)釋放的空閑線程建立與源客戶端的連接,接著執(zhí)行S207。
[0056]需要說(shuō)明的是,可以采用openfire服務(wù)器作為本實(shí)施例中提及的服務(wù)器,openfire服務(wù)器具有很高的效率和性能,openfire服務(wù)器可以及時(shí)處理大量的客戶端連接,單臺(tái)openfire服務(wù)器的承載最大并發(fā)量可以達(dá)到10000以上。例如,在S202至S206中,針對(duì)每個(gè)客戶端的連接請(qǐng)求,openfire服務(wù)器可以創(chuàng)建線程來(lái)響應(yīng)客戶端的連接請(qǐng)求,同時(shí)創(chuàng)建線程池管理線程,提高openfire服務(wù)器的執(zhí)行效率,線程池中如果有10000個(gè)空閑線程,則openfire服務(wù)器可以同時(shí)處理10000個(gè)客戶端的連接請(qǐng)求。并且線程池中的線程數(shù)目的大小根據(jù)服務(wù)器在運(yùn)行的過(guò)程中接收到的客戶端請(qǐng)求的數(shù)量進(jìn)行自動(dòng)調(diào)整,例如如果長(zhǎng)時(shí)間沒(méi)有客戶端請(qǐng)求,則可以銷毀線程,當(dāng)客戶端有請(qǐng)求而線程池中沒(méi)有空閑線程并且線程池中線程數(shù)目沒(méi)有達(dá)到設(shè)定值時(shí),則可以創(chuàng)建新線程,(設(shè)定值為允許創(chuàng)建的線程數(shù)目的最大值)時(shí),則將發(fā)送連接請(qǐng)求的客戶端進(jìn)入等待隊(duì)列中,直至線程池中有空閑線程。并且,客戶端退出的時(shí)候,openfire服務(wù)器可以將線程回收到線程池中,從而可以對(duì)線程進(jìn)行有效管理,提高服務(wù)器資源的利用率。
[0057]S207、源客戶端對(duì)獲取的待發(fā)送文件進(jìn)行編碼,并對(duì)編碼后的待發(fā)送文件進(jìn)行加密,獲得加密后的待發(fā)送文件。
[0058]S208、源客戶端向服務(wù)器發(fā)送文件傳輸請(qǐng)求消息,文件傳輸請(qǐng)求消息包含源客戶端的標(biāo)識(shí)信息、加密后的待發(fā)送文件以及對(duì)待發(fā)送文件進(jìn)行加密的加密秘鑰。
[0059]S209、服務(wù)器向目的客戶端發(fā)送文件傳輸請(qǐng)求消息。
[0060]S210、目的客戶端接收服務(wù)器發(fā)送的文件傳輸請(qǐng)求消息。
[0061]S211、目的客戶端對(duì)文件傳輸請(qǐng)求消息進(jìn)行解析,獲得源客戶端的標(biāo)識(shí)信息、加密后的待發(fā)送文件以及加密秘鑰。
[0062]S212、目的客戶端采用加密秘鑰對(duì)加密后的待發(fā)送文件進(jìn)行解密,獲得解密后的待發(fā)送文件,并對(duì)解密后的待發(fā)送文件進(jìn)行解碼,獲得待發(fā)送文件。
[0063]需要說(shuō)明的是,源客戶端也可以分享當(dāng)前的位置信息,通過(guò)全球定位系統(tǒng)(GlobalPosit1ning System,簡(jiǎn)稱GPS)和移動(dòng)網(wǎng)絡(luò)雙重定位當(dāng)前的位置信息,當(dāng)前的位置信息例如可以為經(jīng)緯度信息,獲得當(dāng)前的位置信息后可以分享給其他客戶端。通過(guò)GPS和移動(dòng)網(wǎng)絡(luò)雙重定位過(guò)程可以通過(guò)如下方式實(shí)現(xiàn):
[0064]源客戶端若判斷獲知當(dāng)前的位置服務(wù)功能已經(jīng)開(kāi)啟,則啟用全球定位系統(tǒng)GPS進(jìn)行定位,并判斷在預(yù)設(shè)時(shí)間內(nèi)是否能通過(guò)GPS定位獲得源客戶端的位置信息;源客戶端若判斷獲知在預(yù)設(shè)時(shí)間內(nèi)不能通過(guò)GPS定位獲得源客戶端的位置信息,則啟用移動(dòng)網(wǎng)絡(luò)獲取源客戶端的位置信息。源客戶端定位到其位置信息后,可以通過(guò)服務(wù)器向目的客戶端發(fā)送源客戶端的位置信息。
[0065]本實(shí)施例提供的即時(shí)通信方法,通過(guò)服務(wù)器接收連接請(qǐng)求消息后,判斷是否存在空閑線程,若存在空閑線程則為源客戶端分配一個(gè)空閑線程,若不存在空閑線程,則判斷線程池中的線程的數(shù)目是否達(dá)到設(shè)定值,若沒(méi)有達(dá)到設(shè)定值,則重新創(chuàng)建一個(gè)新的線程分配給源客戶端,若達(dá)到設(shè)定值,則將源客戶端放入等待隊(duì)列中,并通過(guò)輪詢方式判斷是否有釋放的空閑線程,直到有空閑線程時(shí),則可以為源客戶端分配空閑線程,從而提高服務(wù)器資源的使用效率,實(shí)現(xiàn)服務(wù)器資源的有效利用。并且通過(guò)源客戶端對(duì)獲取的待發(fā)送文件進(jìn)行編碼、加密,以及目的客戶端對(duì)接收的文件進(jìn)行解密、解碼處理,從而保證了待發(fā)送文件在傳輸過(guò)程中的安全性。
[0066]圖3為本發(fā)明實(shí)施例三所提供的即時(shí)通信系統(tǒng)300的結(jié)構(gòu)示意圖。參照?qǐng)D3,該即時(shí)通信系統(tǒng)包括:源客戶端310、服務(wù)器320和目的客戶端330。
[0067]源客戶端310用于對(duì)獲取的待發(fā)送文件進(jìn)行編碼,并對(duì)編碼后的待發(fā)送文件進(jìn)行加密,獲得加密后的待發(fā)送文件;向服務(wù)器發(fā)送文件傳輸請(qǐng)求消息,文件傳輸請(qǐng)求消息包含源客戶端的標(biāo)識(shí)信息、加密后的待發(fā)送文件以及對(duì)待發(fā)送文件進(jìn)行加密的加密秘鑰;服務(wù)器320用于向目的客戶端發(fā)送文件傳輸請(qǐng)求消息;目的客戶端330用于接收服務(wù)器發(fā)送的文件傳輸請(qǐng)求消息;對(duì)文件傳輸請(qǐng)求消息進(jìn)行解析,獲得源客戶端的標(biāo)識(shí)信息、加密后的待發(fā)送文件以及加密秘鑰;采用加密秘鑰對(duì)加密后的待發(fā)送文件進(jìn)行解密,獲得解密后的待發(fā)送文件,并對(duì)解密后的待發(fā)送文件進(jìn)行解碼,獲得待發(fā)送文件。
[0068]需要說(shuō)明的是,待發(fā)送文件例如可以為文檔、圖片等文件,源客戶端獲取到待發(fā)送文件后,可以獲得待發(fā)送文件的二進(jìn)制格式字節(jié)流,對(duì)二進(jìn)制格式字節(jié)流進(jìn)行編碼,可以使用base64對(duì)圖片或文件等待發(fā)送文件進(jìn)行編碼,再對(duì)編碼后的待發(fā)送文件進(jìn)行加密,獲得加密后的待發(fā)送文件,加密可以采用IDEA加密算法對(duì)編碼后的待發(fā)送文件進(jìn)行加密。
[0069]本實(shí)施例提供的即時(shí)通信系統(tǒng),通過(guò)源客戶端對(duì)獲取的待發(fā)送文件進(jìn)行編碼,并對(duì)編碼后的待發(fā)送文件進(jìn)行加密,獲得加密后的待發(fā)送文件,并向服務(wù)器發(fā)送文件傳輸請(qǐng)求消息,由服務(wù)器向目的客戶端發(fā)送文件傳輸請(qǐng)求消息,目的客戶端接收服務(wù)器發(fā)送的文件傳輸請(qǐng)求消息并對(duì)文件傳輸請(qǐng)求消息進(jìn)行解析,獲得源客戶端的標(biāo)識(shí)信息、加密后的待發(fā)送文件以及加密秘鑰,并采用加密秘鑰對(duì)加密后的待發(fā)送文件進(jìn)行解密,獲得解密后的待發(fā)送文件,并對(duì)解密后的待發(fā)送文件進(jìn)行解碼,獲得待發(fā)送文件,從而保證了待發(fā)送文件在傳輸過(guò)程中的安全性。
[0070]進(jìn)一步的,源客戶端310,還用于在源客戶端對(duì)獲取的待發(fā)送文件進(jìn)行編碼之前,向服務(wù)器發(fā)送連接請(qǐng)求消息,連接請(qǐng)求消息包含源客戶端的標(biāo)識(shí)信息;
[0071]服務(wù)器320,還用于接收連接請(qǐng)求消息,并經(jīng)判斷獲知線程池中存在空閑線程,則為源客戶端分配一個(gè)空閑線程,并通過(guò)服務(wù)器分配的空閑線程建立與源客戶端的連接。
[0072]進(jìn)一步的,服務(wù)器320,還用于經(jīng)判斷獲知線程池中不存在空閑線程,則判斷線程池中的線程的數(shù)目是否達(dá)到設(shè)定值;若判斷獲知線程池中的線程的數(shù)目未達(dá)到設(shè)定值,則創(chuàng)建新線程,并通過(guò)創(chuàng)建的新線程建立與源客戶端的連接。
[0073]進(jìn)一步的,服務(wù)器320,還用于若判斷獲知線程池中的線程的數(shù)目達(dá)到設(shè)定值,則將源客戶端進(jìn)入等待隊(duì)列中,并通過(guò)輪詢方式判斷是否存在釋放的空閑線程;若判斷獲知存在釋放的空閑線程,則通過(guò)釋放的空閑線程建立與源客戶端的連接。
[0074]進(jìn)一步的,源客戶端310,還用于若判斷獲知當(dāng)前的位置服務(wù)功能已經(jīng)開(kāi)啟,則啟用全球定位系統(tǒng)GPS進(jìn)行定位,并判斷在預(yù)設(shè)時(shí)間內(nèi)是否能通過(guò)GPS定位獲得源客戶端的位置信息;若判斷獲知在預(yù)設(shè)時(shí)間內(nèi)不能通過(guò)GPS定位獲得源客戶端的位置信息,則啟用移動(dòng)網(wǎng)絡(luò)獲取源客戶端的位置信息;通過(guò)服務(wù)器向目的客戶端發(fā)送源客戶端的位置信息。
[0075]最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
【權(quán)利要求】
1.一種即時(shí)通信方法,其特征在于,包括: 源客戶端對(duì)獲取的待發(fā)送文件進(jìn)行編碼,并對(duì)編碼后的待發(fā)送文件進(jìn)行加密,獲得加S后的待發(fā)送文件; 所述源客戶端向服務(wù)器發(fā)送文件傳輸請(qǐng)求消息,所述文件傳輸請(qǐng)求消息包含所述源客戶端的標(biāo)識(shí)信息、所述加密后的待發(fā)送文件以及對(duì)所述待發(fā)送文件進(jìn)行加密的加密秘鑰;所述服務(wù)器向目的客戶端發(fā)送所述文件傳輸請(qǐng)求消息; 所述目的客戶端接收所述服務(wù)器發(fā)送的所述文件傳輸請(qǐng)求消息; 所述目的客戶端對(duì)所述文件傳輸請(qǐng)求消息進(jìn)行解析,獲得所述源客戶端的標(biāo)識(shí)信息、所述加密后的待發(fā)送文件以及所述加密秘鑰; 所述目的客戶端采用所述加密秘鑰對(duì)所述加密后的待發(fā)送文件進(jìn)行解密,獲得解密后的待發(fā)送文件,并對(duì)所述解密后的待發(fā)送文件進(jìn)行解碼,獲得所述待發(fā)送文件。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述源客戶端對(duì)獲取的待發(fā)送文件進(jìn)行編碼之前,還包括: 所述源客戶端向所述服務(wù)器發(fā)送連接請(qǐng)求消息,所述連接請(qǐng)求消息包含所述源客戶端的標(biāo)識(shí)信息; 所述服務(wù)器接收所述連接請(qǐng)求消息,并經(jīng)判斷獲知線程池中存在空閑線程,則為所述源客戶端分配一個(gè)空閑線程,并通過(guò)所述服務(wù)器分配的空閑線程建立與所述源客戶端的連接。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括: 所述服務(wù)器經(jīng)判斷獲知所述線程池中不存在空閑線程,則判斷所述線程池中的線程的數(shù)目是否達(dá)到設(shè)定值; 所述服務(wù)器若判斷獲知所述線程池中的線程的數(shù)目未達(dá)到設(shè)定值,則創(chuàng)建新線程,并通過(guò)創(chuàng)建的所述新線程建立與所述源客戶端的連接。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,還包括: 所述服務(wù)器若判斷獲知所述線程池中的線程的數(shù)目達(dá)到設(shè)定值,則將所述源客戶端進(jìn)入等待隊(duì)列中,并通過(guò)輪詢方式判斷是否存在釋放的空閑線程; 所述服務(wù)器若判斷獲知存在釋放的空閑線程,則通過(guò)所述釋放的空閑線程建立與所述源客戶端的連接。
5.根據(jù)權(quán)利要求1?4中任一項(xiàng)所述的方法,其特征在于,還包括: 所述源客戶端若判斷獲知當(dāng)前的位置服務(wù)功能已經(jīng)開(kāi)啟,則啟用全球定位系統(tǒng)GPS進(jìn)行定位,并判斷在預(yù)設(shè)時(shí)間內(nèi)是否能通過(guò)GPS定位獲得所述源客戶端的位置信息; 所述源客戶端若判斷獲知在預(yù)設(shè)時(shí)間內(nèi)不能通過(guò)GPS定位獲得所述源客戶端的位置信息,則啟用移動(dòng)網(wǎng)絡(luò)獲取所述源客戶端的位置信息; 所述源客戶端通過(guò)所述服務(wù)器向所述目的客戶端發(fā)送所述源客戶端的位置信息。
6.一種即時(shí)通信系統(tǒng),其特征在于,包括:源客戶端、服務(wù)器和目的客戶端; 所述源客戶端,用于對(duì)獲取的待發(fā)送文件進(jìn)行編碼,并對(duì)編碼后的待發(fā)送文件進(jìn)行加密,獲得加密后的待發(fā)送文件;向服務(wù)器發(fā)送文件傳輸請(qǐng)求消息,所述文件傳輸請(qǐng)求消息包含所述源客戶端的標(biāo)識(shí)信息、所述加密后的待發(fā)送文件以及對(duì)所述待發(fā)送文件進(jìn)行加密的加密秘鑰; 所述服務(wù)器,用于向目的客戶端發(fā)送所述文件傳輸請(qǐng)求消息; 所述目的客戶端,用于接收所述服務(wù)器發(fā)送的所述文件傳輸請(qǐng)求消息;對(duì)所述文件傳輸請(qǐng)求消息進(jìn)行解析,獲得所述源客戶端的標(biāo)識(shí)信息、所述加密后的待發(fā)送文件以及所述加密秘鑰;采用所述加密秘鑰對(duì)所述加密后的待發(fā)送文件進(jìn)行解密,獲得解密后的待發(fā)送文件,并對(duì)所述解密后的待發(fā)送文件進(jìn)行解碼,獲得所述待發(fā)送文件。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于, 所述源客戶端,還用于在所述源客戶端對(duì)獲取的待發(fā)送文件進(jìn)行編碼之前,向所述服務(wù)器發(fā)送連接請(qǐng)求消息,所述連接請(qǐng)求消息包含所述源客戶端的標(biāo)識(shí)信息; 所述服務(wù)器,還用于接收所述連接請(qǐng)求消息,并經(jīng)判斷獲知線程池中存在空閑線程,則為所述源客戶端分配一個(gè)空閑線程,并通過(guò)所述服務(wù)器分配的空閑線程建立與所述源客戶端的連接。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述服務(wù)器,還用于經(jīng)判斷獲知所述線程池中不存在空閑線程,則判斷所述線程池中的線程的數(shù)目是否達(dá)到設(shè)定值;若判斷獲知所述線程池中的線程的數(shù)目未達(dá)到設(shè)定值,則創(chuàng)建新線程,并通過(guò)創(chuàng)建的所述新線程建立與所述源客戶端的連接。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述服務(wù)器,還用于若判斷獲知所述線程池中的線程的數(shù)目達(dá)到設(shè)定值,則將所述源客戶端進(jìn)入等待隊(duì)列中,并通過(guò)輪詢方式判斷是否存在釋放的空閑線程;若判斷獲知存在釋放的空閑線程,則通過(guò)所述釋放的空閑線程建立與所述源客戶端的連接。
10.根據(jù)權(quán)利要求6?9中任一項(xiàng)所述的系統(tǒng),其特征在于,所述源客戶端,還用于若判斷獲知當(dāng)前的位置服務(wù)功能已經(jīng)開(kāi)啟,則啟用全球定位系統(tǒng)GPS進(jìn)行定位,并判斷在預(yù)設(shè)時(shí)間內(nèi)是否能通過(guò)GPS定位獲得所述源客戶端的位置信息;若判斷獲知在預(yù)設(shè)時(shí)間內(nèi)不能通過(guò)GPS定位獲得所述源客戶端的位置信息,則啟用移動(dòng)網(wǎng)絡(luò)獲取所述源客戶端的位置信息;通過(guò)所述服務(wù)器向所述目的客戶端發(fā)送所述源客戶端的位置信息。
【文檔編號(hào)】H04L29/06GK104410619SQ201410676160
【公開(kāi)日】2015年3月11日 申請(qǐng)日期:2014年11月21日 優(yōu)先權(quán)日:2014年11月21日
【發(fā)明者】王文治 申請(qǐng)人:中國(guó)聯(lián)合網(wǎng)絡(luò)通信集團(tuán)有限公司