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