專利名稱:一種p2p通訊的方法
技術領域:
本發(fā)明屬于網絡技術領域,尤其涉及一種p2p通訊的方法。
背景技術:
因特網時代,造就了我們新的工作和生活方式,其互聯(lián)性、開放性及共享信息的模式,打破了傳統(tǒng)信息傳播方式的重重壁壘,使得我們獲取信息比以往更加的方便且內容豐富?;ヂ?lián)網技術的發(fā)展使我們可以足不出戶就實現(xiàn)了即時通訊,與好友聊天,與合作伙伴談判等等。目前,基于需要下載安裝的即時通訊工具,如MSN,QQ,網易泡泡已經深受大家的喜愛,它為人們的溝通、信息交流提供了新的途徑,是除手機、固話、電子郵件之外的又一種重要的信息交流方式。通過這些工具,可以讓人和人之間的交流成本大大降低,且提高了效率。但是,使用上述即時通工具用戶必須下載安裝相應的客戶端軟件。這是一個較為復雜的配置和了解熟悉的過程,對于從來沒有使用過這類工具和不經常使用計算機的用戶來說比較困難。而且,現(xiàn)在的客戶端下載的即時通訊工具軟件越來越大,比如QQ2010軟件達到 32. 6MB, MSN軟件達到11. 2MB,占用了不小的電腦存儲空間;同時,因為下載帶來的網絡安全問題也會困擾著用戶;另外,由于所有數(shù)據(jù)信息(比如聊天記錄等)都存儲在電腦終端, 一旦更換了電腦(如果出差等原因)或者重新安裝軟件,用戶將無法獲取原有的數(shù)據(jù)信息, 非常不便;而且,現(xiàn)在的網絡終端已經普及到了手機等工具,對于即時通訊的即時性和工具的存儲空間要求更高了。于是,人們便有了這樣的需求無需下載安裝任何軟件,一打開網頁就可以實現(xiàn)即時通訊,且所有的數(shù)據(jù)信息能夠安全地保存在網頁上。目前,網絡上也出現(xiàn)了一些網頁上的通訊方式,比如留言板、論壇等,但是,其共同的不足是即時性太差,無法實現(xiàn)網頁版音視頻,難以滿足人們即時溝通的需求。目前,有一種網絡視頻共享雖然能夠實現(xiàn)網頁版音視頻技術(fms或者red5),其無法利用用戶的帶寬資源,以至于給平臺提供方造成很大的服務器和帶寬壓力,成本隨著用戶數(shù)量的增加而急劇上升,這不利于大范圍運用和推廣,以至于目前網頁版音視頻沒有出現(xiàn)具備一定市場規(guī)模的產品和公司。
發(fā)明內容
本發(fā)明提供了一種p2p通訊的方法,實現(xiàn)了客戶端不下載和高即時性的情況下, 最大限度地利用了用戶閑置的帶寬資源,極大地降低了平臺方所要承受服務器和帶寬的壓力。為了解決上述技術問題,本發(fā)明采用以下的技術方案本發(fā)明包括以下步驟1)用戶訪問網頁,調用flash的接口連接socket服務器。Flash通過 netconnection 連接 stratus 月艮務器,取得 key,建立連接 Netconnection (Netconnection 為變量名)并監(jiān)聽收到的消息;
2) Flash將源用戶的用戶名和key發(fā)送給socket服務器,socket服務器保存源用戶的用戶名和key ;3)源用戶網頁中的javascript代碼調用flash接口,將包含目標用戶的用戶名消息發(fā)送給socket服務器。socket服務器接收到源用戶發(fā)來的消息,返回目標用戶的用戶名所對應的key給源用戶網頁中的flash。源用戶網頁中的flash通過Netconnection和目標用戶的key,將消息發(fā)送出去;4)目標用戶的flash收到消息后,調用目標用戶網頁上的javascript接口在目標用戶的網頁上將消息顯示出來。其中步驟1)包含如下過程1a)瀏覽器用戶登錄網站后記錄網頁訪問者用戶賬號,瀏覽器用戶訪問網頁頁面,網頁腳本程序調用flash接口訪問socket服務器,socket 服務器收到flash的連接請求后,為該瀏覽用戶新增一個socket監(jiān)聽線程,該監(jiān)聽線程和瀏覽器用戶的flash建立永久連接;lb)源用戶網頁上的flash通過netcormection類連接stratus服務器,stratus服務器返回一個唯一的key給源用戶網頁上的flash ;lc)源用戶網頁上的flash和stratus服務器建立連接并開始監(jiān)聽收到的消息。其中步驟2)包含如下過程3a)源用戶網頁上的flash將源用戶的用戶名和從 stratus服務器獲取的key發(fā)送給socket服務器;3b) socket服務器保存源用戶的用戶名禾口 key。其中步驟3)包括如下過程4a)源用戶網頁中的javascript代碼調用flash接口,將包含目標用戶的用戶名消息發(fā)送給socket服務器;4b) Socket服務器接收到源用戶發(fā)來的消息,返回目標用戶的用戶名所對應的key給源用戶網頁中的flash。其中步驟4)包括如下過程源用戶網頁中的flash通過Netcormection和目標用戶的key,將消息發(fā)送出去;4d)目標用戶的flash收到消息后,調用目標用戶網頁上的 javascript接口在目標用戶的網頁上將消息顯示出來。本發(fā)明與現(xiàn)有技術相比具有以下優(yōu)點(1)用戶不用下載任何軟件在網頁上就可以實現(xiàn)即時通訊,節(jié)省了電腦的存儲空間,也減少了很多的不便利,同時提高了網絡環(huán)境安全性;(2)即時性很好,無滯后,非常適合網絡音視頻的應用;(3)適合包括個人電腦在內的任何網絡終端的使用;(4)可極大地減輕服務器和帶寬的壓力。
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中圖1是本發(fā)明的詳細流程圖。
具體實施例方式下文中將參考附圖并結合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。本實施例的技術方案如下
一種p2p通訊的方法,包括以下步驟1)用戶訪問網頁,調用flash的接口連接socket服務器。Flash通過 netconnection 連接 stratus 月艮務器,取得 key,建立連接 Netconnection (Netconnection 為變量名)并監(jiān)聽收到的消息。2) Flash將源用戶的用戶名和key發(fā)送給socket服務器,socket服務器保存源用戶的用戶名和key。3)源用戶網頁中的javascript代碼調用flash接口,將包含目標用戶的用戶名消息發(fā)送給socket服務器。Socket服務器接收到源用戶發(fā)來的消息,返回目標用戶的用戶名所對應的key給源用戶網頁中的flash。源用戶網頁中的flash通過Netconnection和目標用戶的key,將消息發(fā)送出去。4)目標用戶的flash收到消息后,調用目標用戶網頁上的javascript接口在目標用戶的網頁上將消息顯示出來。下面進一步詳細說明本發(fā)明所述的方法參見說明書附圖,源用戶在瀏覽器里輸入本人的個人網頁地址或者通過鏈接到達源用戶的個人網頁;源用戶輸入賬號和密碼登錄源用戶的個人網頁,若登錄成功,則將此賬號作為通訊賬號,若不登錄,則系統(tǒng)為其分配一個臨時通訊賬號??蛻舳四_本程序調用 flash的接口連接socket服務器,并建立連接。Flash通過netconnection連接stratus 服務器,取得key,建立連接Netconnection (Netconnection為變量名)并開始監(jiān)聽收到的消息。同時Flash將源用戶的用戶名和key發(fā)送給socket服務器,socket服務器保存源用戶的用戶名和key。源用戶網頁中的javascript代碼調用flash接口,將目標用戶的用戶名發(fā)送給socket服務器。Socket服務器接收到源用戶發(fā)來的消息,返回目標用戶的用戶名所對應的key給源用戶的網頁中的flash。源用戶網頁中javascript程序將消息通過調用flash接口發(fā)送給flash,flash通過Netconnection和目標用戶的key,將消息發(fā)送給目標用戶網頁上的flash。目標用戶網頁上的flash收到消息后調用腳本程序的接口,將消息在網頁內顯示出來。圖1是本發(fā)明的詳細流程圖,詳細步驟如下步驟101 開始;步驟102 用戶登錄網頁,加載flash,連接到socket服務器;步驟103:調用flash接口,連接stratus服務器,建立連接 Netconnection (Netconnection為連接變量名)并獲取唯一的通訊key。并給連接 Netconnection增加監(jiān)聽用來接收他人發(fā)過來的消息;步驟104 將用戶的用戶名和通訊key存入socket服務器;步驟105 源用戶將目標用戶的用戶名發(fā)給socket服務器,socket服務器將目標用戶的通訊key返回給源用戶;步驟106 是否找到key,若否,則轉步驟109 ;否則,執(zhí)行步驟107 ;步驟107 源用戶得到到目標用戶的通訊key,通過已建立的連接Netconnection 和通訊key將消息發(fā)送給目標用戶;步驟108 目標用戶收到源用戶發(fā)來的消息,將消息顯示到網頁上;步驟109 結束。
當然,本發(fā)明還可有其他多種組合,在不背離本發(fā)明精神及其實質的情況下,熟悉本領域的技術人員可根據(jù)本發(fā)明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發(fā)明所附的權利要求的保護范圍。
權利要求
1.一種p2p通訊的方法,包括以下步驟1)用戶訪問網頁,調用flash插件的接口連接socket服務器,flash通過 netconnection 連接 stratus 月艮務器,取得 key,建立連接 Netconnection (Netconnection 為變量名)并監(jiān)聽收到的消息;2)Flash將源用戶的用戶名和key發(fā)送給socket服務器,socket服務器保存源用戶的用戶名和key ;3)源用戶網頁中的javascript代碼調用flash接口,將包含目標用戶的用戶名消息發(fā)送給socket服務器,socket服務器接收到源用戶發(fā)來的消息,返回目標用戶的用戶名所對應的key給源用戶網頁中的flash,源用戶網頁中的flash通過Netconnection和目標用戶的key,將消息發(fā)送出去;4)目標用戶的flash收到消息后,調用目標用戶網頁上的javascript接口在目標用戶的網頁上將消息顯示出來。
2.如權利要求1所述的方法,其特征在于其中步驟1)包含如下過程1a)用戶訪問網頁,調用flash插件的接口連接socket服務器;lb) Flash通過netconnection連接stratus 服務器,取得key,建立連接Netconnection (Netconnection為變量名)并監(jiān)聽收到的消息。
3.如權利要求1所述的方法,其特征在于其中步驟3)包含如下過程3a)源用戶網頁中的javascript代碼調用flash接口,將包含目標用戶的用戶名消息發(fā)送給socket服務器;3b) Socket服務器接收到源用戶發(fā)來的消息,返回目標用戶的用戶名所對應的key給源用戶網頁中的flash ;3c)源用戶網頁中的flash通過Netconnection和目標用戶的key, 將消息發(fā)送出去。
4.如權利要求1所述的方法,其特征在于用戶連接stratus服務器,得到用于通訊的 key,網頁上用戶的flash通過這個key建立連接。
5.一種P2P通訊的方法,其特征在于用戶通過網頁連接socket服務器和stratus服務器并從所述stratus服務器中獲得key ;將所述用戶的用戶名和key發(fā)送給所述socket 服務器;所述用戶將包含目標用戶名消息發(fā)送給所述socket服務器;所述socket服務器返回目標用戶名對應的key給所述用戶并由所述用戶將所述消息發(fā)送給目標用戶。
6.根據(jù)權利要求5所述的方法,其特征在于用戶訪問網頁,調用flash插件的接口連接所述socket服務器,所述flash通過netconnection連接所述stratus服務器,取得key, 建立連接Netconnection (Netconnection為變量名)并監(jiān)聽收到的消息。
7.根據(jù)權利要求5所述的方法,其特征在于將所述用戶的用戶名和key發(fā)送給所述 socket服務器后,所述socket服務器保存所述用戶的用戶名和key。
8.根據(jù)權利要求5所述的方法,其特征在于所述用戶將包含目標用戶名消息發(fā)送給所述socket服務器的過程所述用戶根據(jù)javascript代碼調用flash接口,將包含目標用戶名消息發(fā)送給所述socket服務器。
9.根據(jù)權利要求5所述的方法,其特征在于所述socket服務器返回目標用戶名對應的key給所述用戶并由所述用戶將所述消息發(fā)送給目標用戶的過程為所述socket服務器返回目標用戶名對應的key給所述用戶網頁中的flash,所述用戶網頁中的flash通過 Netconncction和目標用戶名的key,將所述消息發(fā)送出去。
10.根據(jù)權利要求5所述的方法,其特征在于所述socket服務器返回目標用戶名對應的key給所述用戶并由所述用戶將所述消息發(fā)送給目標用戶后,目標用戶的flash調用 javascript接口在所述目標用戶的網頁上所述消息顯示出來。
全文摘要
本發(fā)明提供了一種p2p通訊的方法,屬于網絡技術領域。方法是用戶打開網頁,網頁加載一個flash,flash連接p2p服務器,p2p服務器給所有連接上的flash分別分配一個ID,flash將ID發(fā)送給服務器端保存。源用戶查出服務器端上保存的目標用戶的flash對應的ID,調用flash的內置方法,通過這個ID,源用戶的flash客戶端直接連接到目標用戶的flash客戶端。該方法能使網頁上實現(xiàn)p2p通訊,在用戶之間直接建立連接,減輕了服務器的帶寬壓力,從而提高通訊的效率和網絡利用率。
文檔編號H04L29/08GK102307215SQ20111005910
公開日2012年1月4日 申請日期2011年3月14日 優(yōu)先權日2010年7月2日
發(fā)明者胡加明 申請人:蘇州闊地網絡科技有限公司