国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      建立網(wǎng)絡(luò)鏈接的方法及其移動(dòng)通訊系統(tǒng)的制作方法

      文檔序號(hào):7918267閱讀:148來源:國知局
      專利名稱:建立網(wǎng)絡(luò)鏈接的方法及其移動(dòng)通訊系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種移動(dòng)通訊系統(tǒng),且特別涉及一種隨著網(wǎng)絡(luò)環(huán)境的改變, 而保持無縫鏈接的建立網(wǎng)絡(luò)鏈接的方法及其移動(dòng)通訊系統(tǒng)。
      背景技術(shù)
      隨著科技的日新月異,互聯(lián)網(wǎng)絡(luò)亦隨之蓬勃發(fā)展。而在資訊爆炸的社會(huì) 中,不論在任何時(shí)間、地點(diǎn),人們希望獲得資訊的需求亦漸漸增加,進(jìn)而對(duì) 于通訊技術(shù)越來越依賴。據(jù)此,隨著人們生活的移動(dòng)性以及對(duì)互聯(lián)網(wǎng)絡(luò)依賴 程度的增加,互聯(lián)網(wǎng)絡(luò)的移動(dòng)性需求越來越大。
      目前有各式各樣解決移動(dòng)性網(wǎng)絡(luò)鏈接的方案,以確保使用網(wǎng)絡(luò)通訊軟件
      的無縫移動(dòng)性。例如,利用接取(Access)技術(shù)來處理移動(dòng)性網(wǎng)絡(luò)問題,而 網(wǎng)絡(luò)層不需要知道連接點(diǎn)的變化。然而,跨越不同接取介質(zhì)(AccessMedia) 的鏈路層無縫移動(dòng)性的解決方案非常復(fù)雜,成本亦較高,對(duì)于實(shí)際操作而言 相當(dāng)不易。
      另外,通過移動(dòng)網(wǎng)際協(xié)議(Mobile Internet Protocol)來解決無縫性移動(dòng) 性問題的解決方案,其最大問題在于用戶端的建立與管理。并且,由于移動(dòng) IP在訊息傳遞以及路線規(guī)劃上仍有所缺陷,因此會(huì)嚴(yán)重影響到網(wǎng)絡(luò)鏈接質(zhì)

      發(fā)明內(nèi)容
      本發(fā)明提供一種建立網(wǎng)絡(luò)鏈接的方法及其移動(dòng)通訊系統(tǒng),通過網(wǎng)絡(luò)交換 機(jī)制以及特定功能的服務(wù)器,讓用戶端能夠在網(wǎng)絡(luò)地址隨著本身的移動(dòng)而改 變的網(wǎng)絡(luò)環(huán)境中,和其他使用者進(jìn)行點(diǎn)對(duì)點(diǎn)的網(wǎng)絡(luò)鏈接。
      本發(fā)明提出一種移動(dòng)通訊系統(tǒng),包括網(wǎng)頁服務(wù)器、中繼服務(wù)器以及多個(gè) 用戶端。網(wǎng)頁服務(wù)器記錄了多個(gè)使用者各自的相關(guān)數(shù)據(jù)。中繼服務(wù)器在向網(wǎng)
      頁服務(wù)器注冊(cè),傳送自身的網(wǎng)絡(luò)地址至網(wǎng)頁服務(wù)器之后,可用來協(xié)助不同使
      用者之間傳遞網(wǎng)絡(luò)控制訊息(CommandPacket)以確認(rèn)雙方是否可以直接鏈 接或是需通過中繼服務(wù)器來建立鏈接。當(dāng)使用者之間無法直接建立鏈接時(shí), 便可利用中繼服務(wù)器來作為雙方的數(shù)據(jù)傳遞中繼點(diǎn)。所述用戶端在登入網(wǎng)頁 服務(wù)器之后,便可取得自身的相關(guān)數(shù)據(jù)。所述相關(guān)數(shù)據(jù)包括各用戶端所屬的 中繼服務(wù)器的網(wǎng)絡(luò)地址。這些用戶端至少包括第一用戶端與第二用戶端。其 中,第一用戶端登入網(wǎng)頁服務(wù)器,以取得中繼服務(wù)器的網(wǎng)絡(luò)地址,使得第一 用戶端依據(jù)中繼服務(wù)器的網(wǎng)絡(luò)地址與中繼服務(wù)器建立鏈接。之后,第一用戶 端通過中繼服務(wù)器偵測(cè)第一用戶端與第二用戶端的鏈接類型,使得第一用戶 端從第一用戶端與第二用戶端的鏈接類型中擇一,而鏈接至第二用戶端。
      在本發(fā)明的一個(gè)實(shí)施例中,所述移動(dòng)通訊系統(tǒng)進(jìn)一步包括告知服務(wù)器。 利用告知服務(wù)器接收第一用戶端所傳送的告知封包,以回傳一回復(fù)封包至第 一用戶端,使得第一用戶端決定與第二用戶端之間的傳輸協(xié)議。并且,告知 服務(wù)器會(huì)回傳使用者的外部網(wǎng)絡(luò)地址以及端口 (Port)。
      在本發(fā)明的一個(gè)實(shí)施例中,所述第一用戶端與第二用戶端的鏈接類型包 括通過中繼服務(wù)器而與第二用戶端建立鏈接、通過第二用戶端的外部網(wǎng)絡(luò)地 址而直接與第二用戶端建立鏈接,以及通過第二用戶端的內(nèi)部網(wǎng)絡(luò)地址而直 接與第二用戶端建立鏈接。
      從另一方面來看,本發(fā)明提出一種建立網(wǎng)絡(luò)鏈接的方法,適用于一移動(dòng) 通訊系統(tǒng)中,由第一用戶端與第二用戶端建立鏈接。首先,藉由第一用戶端 登入網(wǎng)頁服務(wù)器,以取得中繼服務(wù)器的網(wǎng)絡(luò)地址。接著,依據(jù)中繼服務(wù)器的 網(wǎng)絡(luò)地址,藉由第一用戶端與中繼服務(wù)器建立鏈接。之后,在第一用戶端中, 通過中繼服務(wù)器偵測(cè)第一用戶端與第二用戶端的鏈接類型。最后,從第一用 戶端與第二用戶端的鏈接類型中擇一,由第一用戶端鏈接至第二用戶端。
      在本發(fā)明的一個(gè)實(shí)施例中,所述第一用戶端是通過中繼服務(wù)器傳送第一 偵測(cè)封包至第二用戶端。當(dāng)?shù)谝挥脩舳送ㄟ^中繼服務(wù)器接收到第一確認(rèn)封包 時(shí),記錄第一鏈接類型,以確認(rèn)能夠通過中繼服務(wù)器而與第二用戶端建立鏈 接。
      另外,第一用戶端在接收到第一確認(rèn)封包之后,進(jìn)一步依據(jù)第二用戶端 的外部網(wǎng)絡(luò)地址與內(nèi)部網(wǎng)絡(luò)地址,分別直接傳送第二偵測(cè)封包與第三偵測(cè)封
      包至第二用戶端。當(dāng)?shù)谝挥脩舳私邮盏降诙_認(rèn)封包時(shí),記錄第二鏈接類型, 以確認(rèn)第一用戶端能夠通過第二用戶端的外部網(wǎng)絡(luò)地址而直接與第二用戶端 建立鏈接。而當(dāng)?shù)谝挥脩舳私邮盏降谌_認(rèn)封包時(shí),記錄一第三鏈接類型, 以確認(rèn)能夠通過第二用戶端的內(nèi)部網(wǎng)絡(luò)地址直接與第二用戶端建立鏈接。
      綜上所述,本發(fā)明通過中繼服務(wù)器來偵測(cè)第一用戶端與第二用戶端之間 的鏈接類型,并且從最容易的鏈接類型開始偵測(cè)。因此,當(dāng)?shù)谝挥脩舳伺c第 二用戶端無法直接建立鏈接時(shí),便通過中繼服務(wù)器來重新建立鏈接,進(jìn)而讓 第一用戶端能夠在網(wǎng)絡(luò)環(huán)境改變時(shí),仍舊和第二用戶端進(jìn)行點(diǎn)對(duì)點(diǎn)的網(wǎng)絡(luò)鏈 接。
      為讓本發(fā)明的所述特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并 配合所附圖式,作詳細(xì)說明如下。


      圖1是本發(fā)明一個(gè)實(shí)施例的移動(dòng)通訊系統(tǒng)的結(jié)構(gòu)框圖2是本發(fā)明一個(gè)實(shí)施例的建立網(wǎng)絡(luò)鏈接的方法的流程圖3是本發(fā)明一個(gè)實(shí)施例的網(wǎng)絡(luò)交換流程的示意圖。
      圖中IIO—第一用戶端,120—第二用戶端,130—網(wǎng)頁服務(wù)器,140— 告知服務(wù)器,150—中繼服務(wù)器,S205 S220 —本發(fā)明一個(gè)實(shí)施例的建立網(wǎng) 絡(luò)鏈接的方法的各個(gè)步驟,S301 S355—本發(fā)明一個(gè)實(shí)施例的網(wǎng)絡(luò)交換流程 的各個(gè)步驟。
      具體實(shí)施例方式
      圖1是本發(fā)明一個(gè)實(shí)施例的移動(dòng)通訊系統(tǒng)的結(jié)構(gòu)框圖。請(qǐng)參照?qǐng)D1,移 動(dòng)通訊系統(tǒng)包括第一用戶端IIO、第二用戶端120、網(wǎng)頁服務(wù)器130、告知服 務(wù)器(ping server) 140以及中繼服務(wù)器150。
      在本實(shí)施例中,網(wǎng)頁服務(wù)器130記錄了多個(gè)使用者各自的相關(guān)數(shù)據(jù),例 如使用者名稱、登入時(shí)間、好友名單、使用者所在的用戶端本身是否可當(dāng) 作中繼服務(wù)器150、用戶端的外部網(wǎng)絡(luò)地址以及使用者所屬的中繼服務(wù)器等 等。告知服務(wù)器140提供告知服務(wù)給第一用戶端110與第二用戶端120。而 中繼服務(wù)器150在向網(wǎng)頁服務(wù)器130注冊(cè)之后,會(huì)將自身的外部網(wǎng)絡(luò)地址以
      及端口 (port)傳送至網(wǎng)頁服務(wù)器130。據(jù)此,便可藉由中繼服務(wù)器150在 第一用戶端110與第二用戶端120之間傳輸數(shù)據(jù)。
      詳細(xì)地說,以第一用戶端110而言,當(dāng)?shù)谝挥脩舳?10登入網(wǎng)頁服務(wù)器 130時(shí),便可取得自身的相關(guān)數(shù)據(jù),例如本身所屬的中繼服務(wù)器130的網(wǎng)絡(luò) 地址(以下簡(jiǎn)稱為IP)。接著,第一用戶端110再發(fā)送告知封包至告知服務(wù) 器140。而告知服務(wù)器140則回傳一回復(fù)封包(載送第一用戶端110的外部 IP與端口)至第一用戶端110,以使第一用戶端110決定與第二用戶端120 之間的傳輸協(xié)議。所述傳輸協(xié)議例如為傳輸控制協(xié)議(Transmission Control Protocol, TCP)或用戶數(shù)據(jù)報(bào)協(xié)議(User Datagram Protocol, UDP)。
      之后,第一用戶端110便可鏈接至中繼服務(wù)器150。接著,第一用戶端 110通過中繼服務(wù)器150來偵測(cè)第一用戶端110與第二用戶端120的鏈接類 型,使得第一用戶端110從這些鏈接類型中擇一,而鏈接至第二用戶端120。 在本實(shí)施例中,鏈接類型包括在一用戶端中通過中繼服務(wù)器150而與另一 用戶端建立鏈接(以下稱為第一鏈接類型),兩個(gè)用戶端之間通過外部IP而 直接建立鏈接(以下稱為第二鏈接類型),以及兩個(gè)用戶端之間通過內(nèi)部IP 而直接建立鏈接(以下稱為第三鏈接類型)。
      舉例來說,本實(shí)施例的移動(dòng)通訊系統(tǒng)例如為第三代(3G)無線通信系統(tǒng), 而在第一用戶端110與第二用戶端120上例如皆各自執(zhí)行一實(shí)時(shí)通訊軟件, 以藉由所述實(shí)時(shí)通訊軟件使得雙方進(jìn)行溝通。
      在第一用戶端110與第二用戶端120中執(zhí)行的實(shí)時(shí)通訊軟件主要分為操 作界面以及系統(tǒng)底層兩部分。其中,操作界面以DHTML以及JavaScript兩種 程序語言來進(jìn)行設(shè)計(jì),以供用戶讀取照片、音頻以及管理好友列表和程序相 關(guān)設(shè)定等操作。而系統(tǒng)底層是以程序語言0++來進(jìn)行設(shè)計(jì),主要是提供點(diǎn)對(duì) 點(diǎn)網(wǎng)絡(luò)鏈接功能以及前端操作界面所需要的進(jìn)階服務(wù)。
      網(wǎng)頁服務(wù)器130例如可用PHP (Personal Hom印age Program,個(gè)人網(wǎng)頁 程式)搭配MySQL數(shù)據(jù)庫(MySQL=my structured query language,結(jié)構(gòu)化 查詢語言)來進(jìn)行設(shè)計(jì),并架設(shè)于Unix平臺(tái)上。網(wǎng)頁服務(wù)器130用以提供應(yīng) 用程序編程接口 (Application Programming Interface, API)讓用戶端(也 就是第一用戶端110與第二用戶端120)能夠通過XML-RPC (XML二eXtensible Markup Language, RPORemote Procedure Call)來呼叫所需要的服務(wù)。網(wǎng)
      頁服務(wù)器130所提供的服務(wù)包括申請(qǐng)并建立使用者賬號(hào),使用者登入認(rèn)證 與注銷功能,以及儲(chǔ)存、修改或回傳用戶相關(guān)信息等。
      告知服務(wù)器140例如以程序語言0++來進(jìn)行設(shè)計(jì),用來提供告知服務(wù)給 用戶端(第一用戶端110或第二用戶端120)的實(shí)時(shí)通訊軟件。當(dāng)告知服務(wù) 器140接收到由用戶端所發(fā)送的告知(ping)封包時(shí),會(huì)回傳一回復(fù)封包至 用戶端。也就是說,告知服務(wù)器140會(huì)將用戶端的外部IP與端口回傳至用戶 端。
      中繼服務(wù)器150例如以程序語言0++來進(jìn)行設(shè)計(jì),和所述用戶端的實(shí)時(shí) 通訊軟件相似。也就是說,中繼服務(wù)器150可以為任一計(jì)算機(jī)主機(jī)或是個(gè)人 計(jì)算機(jī)(即任一用戶端)。假設(shè)一用戶端被指派作為中繼服務(wù)器150時(shí),只需 執(zhí)行此實(shí)時(shí)通訊軟件,在登入之后向網(wǎng)頁服務(wù)器130登記成為中繼服務(wù)器 150。并且,將本身的外部IP與端口通知網(wǎng)頁服務(wù)器150,以供其他使用者 進(jìn)行鏈接,進(jìn)而提供中繼服務(wù)器150的服務(wù)。
      而所述指派為中繼服務(wù)器150的方式例如可由網(wǎng)頁服務(wù)器130或是用戶 端的實(shí)時(shí)通訊軟件直接定義哪些帳號(hào)為中繼服務(wù)器150?;蛘撸捎脩舳说?實(shí)時(shí)通訊軟件判斷本身的硬設(shè)備等級(jí)以及網(wǎng)絡(luò)環(huán)境是否適合作為中繼服務(wù)器 150。
      在本實(shí)施例中,中繼服務(wù)器150提供的功能包括協(xié)助不同使用者之間 傳遞網(wǎng)絡(luò)控制信息以確認(rèn)雙方是否可以直接鏈接,或是需通過中繼服務(wù)器 150建立雙方的點(diǎn)對(duì)點(diǎn)鏈接。當(dāng)用戶端之間無法直接進(jìn)行點(diǎn)對(duì)點(diǎn)鏈接時(shí),便 可利用中繼服務(wù)器150作為雙方的數(shù)據(jù)傳遞中繼點(diǎn)。
      圖2是本發(fā)明一個(gè)實(shí)施例的建立網(wǎng)絡(luò)鏈接的方法的流程圖。請(qǐng)同時(shí)參照 圖1與圖2,首先,藉由第一用戶端110登入網(wǎng)頁服務(wù)器130,以取得中繼服 務(wù)器150的外部IP (步驟S205)。其中,登入網(wǎng)頁服務(wù)器130即表示第一用 戶端110已經(jīng)連上互聯(lián)網(wǎng)絡(luò)。接著,第一用戶端110會(huì)傳送告知封包至告知 服務(wù)器140,以取得自身的外部IP與端口。
      舉例來說,當(dāng)?shù)谝挥脩舳?10的實(shí)時(shí)通訊軟件被執(zhí)行時(shí),第一用戶端110 會(huì)以XML-RPC通過超文件傳送協(xié)議(Hypertext Transfer Protocol, HTTP) 登入到網(wǎng)頁服務(wù)器130以進(jìn)行使用者認(rèn)證。此時(shí),第一用戶端110的外部IP 便被儲(chǔ)存在網(wǎng)頁服務(wù)器130中。并且,網(wǎng)頁服務(wù)器130會(huì)將第一用戶端110
      的相關(guān)信息以及其好友的相關(guān)信息(例如,其好友名單以及好友的上線狀態(tài))
      傳回給第一用戶端IIO。
      若是此時(shí)第一用戶端110的網(wǎng)絡(luò)狀態(tài)為未知網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation, NAT)類型時(shí),第一用戶端110會(huì)傳送告知封包至告 知服務(wù)器140。而告知服務(wù)器140將會(huì)回傳一回復(fù)封包,藉由回復(fù)封包來載 送第一用戶端110的外部IP與端口。倘若第一用戶端110超過一特定時(shí)間沒 有接收到告知服務(wù)器140所回傳的回復(fù)封包時(shí),表示第一用戶端110無法通 過UDP來建立鏈接,因而必須通過TCP來建立鏈接。
      接著,第一用戶端110依據(jù)中繼服務(wù)器150的外部IP,而與中繼服務(wù)器 150建立鏈接(步驟S210)。當(dāng)?shù)谝挥脩舳?10接收到告知服務(wù)器140所回傳 的回復(fù)封包時(shí),便會(huì)得知自身的外部IP與端口,并且和中繼服務(wù)器150建立 鏈接。也就是說,第一用戶端110依據(jù)中繼服務(wù)器150的外部IP,鏈接至中 繼服務(wù)器150,并會(huì)將包含了自身的外部IP與端口的封包傳送至中繼服務(wù)器 150。此時(shí),中繼服務(wù)器150將會(huì)儲(chǔ)存第一用戶端110的外部IP與端口,以 提供后續(xù)的中繼服務(wù)。
      當(dāng)?shù)谝挥脩舳?10與中繼服務(wù)器150建立鏈接之后,即開始和其他用戶 端(例如,第二用戶端120)進(jìn)行網(wǎng)絡(luò)交換機(jī)制。在本實(shí)施例中,第一用戶 端110可通過中繼服務(wù)器150來偵測(cè)第一用戶端110與第二用戶端120之間 的鏈接類型(步驟S215)。鏈接類型包括在一用戶端中可通過中繼服務(wù)器 150而與另一用戶端建立鏈接(以下稱為第一鏈接類型),雙方通過外部IP 而直接建立鏈接(以下稱為第二鏈接類型),以及雙方通過內(nèi)部IP而直接建 立鏈接(以下稱為第三鏈接類型)。
      以下便舉一實(shí)施例來說明網(wǎng)絡(luò)交握的各步驟。圖3是本發(fā)明一個(gè)實(shí)施例 的網(wǎng)絡(luò)交換流程的示意圖。請(qǐng)同時(shí)參照?qǐng)D1與圖3,為了方便說明,在本實(shí) 施例中的鏈接皆為UDP鏈接。而用來偵測(cè)鏈接類型的封包中皆包含封包類 型、發(fā)送封包的用戶名稱、封包的發(fā)送目標(biāo)的用戶名稱、發(fā)送封包的用戶端 的IP以及發(fā)送封包的用戶端的端口。另外,倘若封包類型是屬于為了偵測(cè)是 否可通過內(nèi)部IP建立鏈接時(shí),則所述封包進(jìn)一步可包括發(fā)送封包的用戶端 的內(nèi)部IP與端口。
      首先,第一用戶端110通過中繼服務(wù)器150傳送第一偵測(cè)封包至第二用
      戶端120 (步驟S301),藉由第一偵測(cè)封包來偵測(cè)是否可以通過中繼服務(wù)器 150進(jìn)行鏈接。同時(shí),第一用戶端110會(huì)直接向第二用戶端120傳送鑿洞封 包(punch packet),以允許第二用戶端120通過第一用戶端110的防火墻。 換言之,即是開啟防火墻的通道給予第二用戶端120使用。
      接著,在第二用戶端120中,第二用戶端120會(huì)接收第一偵測(cè)封包(步 驟S303)。之后,第二用戶端120再通過中繼服務(wù)器150傳送第一確認(rèn)封包 至第一用戶端110 (步驟S305)。第二用戶端120是通過第一確認(rèn)封包來通知 第一用戶端110自己已經(jīng)收到第一偵測(cè)封包,即代表第一用戶端110能夠與 自己鏈接。同時(shí),第二用戶端120也會(huì)直接向第一用戶端120傳送鑿洞封包, 以允許第一用戶端110通過第二用戶端120的防火墻。
      之后,在第一用戶端110中,第一用戶端110會(huì)收到確認(rèn)第一偵測(cè)封包 的第一確認(rèn)封包(步驟S307)。之后,第一用戶端IIO記錄一第一鏈接類型 (步驟S309),以表示第一用戶端110能夠通過中繼服務(wù)器150和第二用戶 端120建立單向鏈接。
      然后,第一用戶端110會(huì)通過中繼服務(wù)器150傳送一確認(rèn)回復(fù)封包至第 二用戶端120(步驟S311)。也就是說,第一用戶端110通過確認(rèn)回復(fù)封包來 通知第二用戶端120自己已經(jīng)收到第一確認(rèn)封包,代表第二用戶端120也可 以通過中繼服務(wù)器150與自己鏈接。同時(shí),第一用戶端110會(huì)再向第二用戶 端120直接傳送鑿洞封包,以確保在雙方的防火墻中建立通道。
      接著,第一用戶端110依據(jù)第二用戶端120的外部IP與端口,直接傳送 第二偵測(cè)封包至第二用戶端120 (步驟S315)。并且,第一用戶端110會(huì)再依 據(jù)第二用戶端120的內(nèi)部IP與端口,直接傳送第三偵測(cè)封包至第二用戶端 120 (步驟S317)。
      所述第二偵測(cè)封包是第一用戶端110用來偵測(cè)是否可以利用第二用戶端 120的外部IP直接進(jìn)行UDP鏈接。而第三偵測(cè)封包則是第一用戶端110用來 偵測(cè)是否可以利用第二用戶端120的內(nèi)部IP直接進(jìn)行UDP鏈接。這是因?yàn)槭?用內(nèi)部IP建立鏈接,便可在不支持Hairpin功能的網(wǎng)絡(luò)環(huán)境內(nèi)進(jìn)行鏈接。所 謂Hairpin功能是指,當(dāng)不同主機(jī)位于同一臺(tái)具有NAT功能的網(wǎng)絡(luò)路由器區(qū) 域內(nèi),且主機(jī)之間利用對(duì)方的外部IP及端口傳送封包時(shí),網(wǎng)絡(luò)路由器能夠根 據(jù)NAT中所配置的IP對(duì)照數(shù)據(jù)表,將其外部IP與端口轉(zhuǎn)換為內(nèi)部IP與端口 ,
      再將封包傳送到位于同一路由器內(nèi)的其他主機(jī)。
      之后,當(dāng)?shù)诙脩舳?20接收到第一用戶端110所傳送的第二偵測(cè)封包 時(shí)(步驟S321),會(huì)通過中繼服務(wù)器150傳送第二確認(rèn)封包給第一用戶端110 (步驟S323),以通知第一用戶端110能夠通過自己的外部IP直接建立鏈接。
      接著,當(dāng)?shù)谝挥脩舳薎IO接收到第二確認(rèn)封包時(shí)(步驟S325),會(huì)記錄 第二鏈接類型(步驟S327),以確認(rèn)能夠通過第二用戶端120的外部IP直接 建立鏈接。
      返回步驟S311,在第一用戶端110通過中繼服務(wù)器150傳送確認(rèn)回復(fù)封 包至第二用戶端120之后,第二用戶端120會(huì)接收到確認(rèn)回復(fù)封包(步驟 S313)。此時(shí),第二用戶端120將記錄第一鏈接類型(步驟S315),表示第二 用戶端120也能夠通過中繼服務(wù)器150和第一用戶端110建立單向鏈接。
      之后,第二用戶端120依據(jù)第一用戶端110的外部IP與端口,亦直接傳 送第二偵測(cè)封包至第一用戶端110(步驟S329)。并且,為了解決當(dāng)網(wǎng)絡(luò)環(huán)境 處于不支持Hairpin功能時(shí),如同步驟S317,第二用戶端120同樣會(huì)再依據(jù) 第一用戶端110的內(nèi)部IP與端口,直接傳送第三偵測(cè)封包至第一用戶端110 (步驟S331)。
      當(dāng)?shù)谝挥脩舳?10接收到第二用戶端120所傳送的第二偵測(cè)封包時(shí)(步 驟S333),與步驟S321相似,第一用戶端110會(huì)傳送確認(rèn)用的第二確認(rèn)封包 至第二用戶端120 (步驟S335)。此時(shí),倘若第一用戶端110能夠直接與第二 用戶端120直接鏈接,則不必通過中繼服務(wù)器150而直接將第二確認(rèn)封包傳 送至第二用戶端120;反之,則通過中繼服務(wù)器150將第二確認(rèn)封包傳送至 第二用戶端120。
      接著,第二用戶端120接收到第一用戶端110所傳送的第二確認(rèn)封包(步 驟S337)。之后,與步驟S327類似,第二用戶端120亦會(huì)記錄第二鏈接類型 (步驟S339),表示第二用戶端120也能夠通過第一用戶端110的外部IP直 接鏈接。
      返回步驟S317,在第一用戶端110傳送第三偵測(cè)封包至第二用戶端120 之后,在第二用戶端120中,第二用戶端120會(huì)接收到第三偵測(cè)封包(步驟 S341)。之后,第二用戶端120將傳送第三確認(rèn)封包至第一用戶端110 (步驟 S343),代表第一用戶端110能夠通過自己的內(nèi)部IP直接鏈接。
      接著,第一用戶端110接收第二用戶端120所傳送的第三確認(rèn)封包(步 驟S345),并記錄第三鏈接類型(步驟S347),以表示第一用戶端110能夠通 過第二用戶端120的內(nèi)部IP直接鏈接。在步驟S345中,倘若第二用戶端120 能夠直接鏈接至第一用戶端110時(shí),第一用戶端110不需通過中繼服務(wù)器150 便能接收到第二用戶端120所傳送的第三確認(rèn)封包;反之,則需通過中繼服 務(wù)器150來接收第三確認(rèn)封包。
      接著,返回步驟S331,如同于步驟S341 S347,當(dāng)?shù)谝挥脩舳?10接收 到第二用戶端120所傳送的第三偵測(cè)封包時(shí)(步驟S349),第一用戶端110 會(huì)傳送第三確認(rèn)封包至第二用戶端120 (步驟S351)。而在第二用戶端120 接收到第三確認(rèn)封包時(shí)(步驟S353),記錄第三鏈接類型(步驟S355)。據(jù)此, 第一用戶端110與第二用戶端120便完成了雙方之間的交換機(jī)制。
      最后,返回圖2,第一用戶端110便可從所述鏈接類型中擇一,以鏈接 至第二用戶端120 (步驟S220)。也就是說,為了能夠處理各種網(wǎng)絡(luò)環(huán)境改變 (例如IP的改變、鏈接類型的改變、網(wǎng)絡(luò)鏈接異常等等)的情形,采取了適 當(dāng)?shù)姆磻?yīng)以保持鏈接不中斷,來達(dá)成無縫移動(dòng)性。
      一般而言,為了偵測(cè)鏈接類型而傳送的偵測(cè)封包中皆會(huì)包括傳送方的用 戶名稱、IP以及端口等信息。而在用戶端之間定期所傳送的持續(xù) (Ke印-alive)封包也會(huì)包含傳送方的用戶名稱、IP以及端口等信息。另外, 封包的接收方會(huì)將傳送方的用戶名稱、IP以及端口記錄下來。
      以改變IP而言,當(dāng)?shù)诙脩舳?20的IP發(fā)生改變時(shí),第一用戶端IIO 便會(huì)發(fā)現(xiàn)從第二用戶端120所接收的封包中所載送的IP及端口和原先所記錄 的有所不同。此時(shí),第一用戶端110便會(huì)再次啟動(dòng)交換機(jī)制(例如步驟S301 S355),以確認(rèn)雙方的鏈接類型,并且根據(jù)新的鏈接類型來建立鏈接。
      另外,以鏈接類型的改變而言。當(dāng)雙方因?yàn)榫W(wǎng)絡(luò)環(huán)境產(chǎn)生改變而無法鏈 接時(shí),可能是因?yàn)橹辽倨渲幸环絅AT設(shè)定產(chǎn)生變動(dòng)而造成。例如,原本第一 用戶端110與第二用戶端120可以直接鏈接,但是因?yàn)榉阑饓Φ脑O(shè)定從完全 圓錐型(Full Cone)變更為對(duì)稱型(Symmetric),導(dǎo)致雙方無法直接建立鏈 接。此時(shí),亦會(huì)再次啟動(dòng)交換機(jī)制(例如步驟S301 S355)。
      在本實(shí)施例中,由于是從最容易建立鏈接的鏈接類型(也就是通過中繼 服務(wù)器150建立鏈接)開始嘗試鏈接,并根據(jù)各偵測(cè)封包的偵測(cè)結(jié)果判斷是 否要繼續(xù)偵測(cè)更佳的鏈接類型(例如通過對(duì)方的外部IP或內(nèi)部IP直接建立 鏈接)。因此,通過交換機(jī)制偵測(cè)的結(jié)果,當(dāng)無法直接鏈接時(shí),便可通過中繼
      服務(wù)器150和對(duì)方重新建立鏈接。
      此外,以網(wǎng)絡(luò)異常而言,當(dāng)?shù)谝挥脩舳?10無法通過中繼服務(wù)器150鏈 接至第二用戶端120時(shí),第一用戶端110會(huì)檢査本身是否能夠與告知服務(wù)器 140及中繼服務(wù)器150建立鏈接。若可以建立鏈接,則判定第二用戶端120 發(fā)生異常,也就是可能是第二用戶端120的,網(wǎng)絡(luò)發(fā)生異常。此時(shí),第一用戶 端110中的實(shí)時(shí)通訊軟件仍會(huì)繼續(xù)執(zhí)行。相反地,若第一用戶端110無法與 告知服務(wù)器140及中繼服務(wù)器150建立鏈接時(shí),表示可能第一用戶端110的 網(wǎng)絡(luò)發(fā)生異常。此時(shí),第一用戶端110會(huì)傳送一請(qǐng)求封包至網(wǎng)頁服務(wù)器130, 以要求網(wǎng)頁服務(wù)器130來確認(rèn)第一用戶端110的網(wǎng)絡(luò)狀態(tài)并回報(bào)給第一用戶 端110。而倘若第一用戶端11Q亦無法鏈接上網(wǎng)絡(luò)服務(wù)器130時(shí),即表是第 一用戶端110和其他所有用戶端皆無法建立鏈接。此時(shí),第一用戶端110中 的實(shí)時(shí)通訊軟件便會(huì)被自動(dòng)注銷。
      另外,在實(shí)際情況中,有可能第一用戶端110與第二用戶端120無法利 用外部IP或是內(nèi)部IP進(jìn)行直接鏈接。此時(shí),無論在第一用戶端110或第二 用戶端120中,皆無法接收到對(duì)方所傳送的封包。當(dāng)發(fā)生此種情況時(shí),第一 用戶端IIO便可根據(jù)當(dāng)初所記錄的鏈接類型來建立鏈接,以進(jìn)行檔案的傳輸 或分享。例如,雙方通過中繼服務(wù)器150來建立鏈接。
      綜上所述,在本實(shí)施例中,本發(fā)明至少具有下列優(yōu)點(diǎn)-
      1、 當(dāng)兩個(gè)用戶端之間無法直接鏈接時(shí),通過中繼服務(wù)器便能和對(duì)方重新 建立鏈接。
      2、 當(dāng)網(wǎng)絡(luò)環(huán)境產(chǎn)生變動(dòng)時(shí),隨即以最容易建立鏈接的鏈接類型開始嘗試 鏈接,并繼續(xù)偵測(cè)更佳的鏈接類型,解決了因移動(dòng)導(dǎo)致網(wǎng)絡(luò)環(huán)境產(chǎn)生變化而 使得網(wǎng)絡(luò)通訊無法保持鏈接的問題。
      雖然本發(fā)明已揭露如上較佳實(shí)施例,然其并非用以限定本發(fā)明,任何所 屬技術(shù)領(lǐng)域中具有通常知識(shí)者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些 許的變動(dòng)與潤飾,因此本發(fā)明的保護(hù)范圍當(dāng)視后附的申請(qǐng)專利范圍所界定者 為準(zhǔn)。
      權(quán)利要求
      1、一種建立網(wǎng)絡(luò)鏈接的方法,適于在一移動(dòng)通訊系統(tǒng)中,其特征在于,由一第一用戶端與一第二用戶端建立鏈接,所述方法包括藉由所述第一用戶端登入一網(wǎng)頁服務(wù)器,以取得一中繼服務(wù)器的網(wǎng)絡(luò)地址;依據(jù)所述中繼服務(wù)器的網(wǎng)絡(luò)地址,藉由所述第一用戶端與所述中繼服務(wù)器建立鏈接;在所述第一用戶端中,通過所述中繼服務(wù)器偵測(cè)所述第一用戶端與所述第二用戶端的鏈接類型;以及從所述第一用戶端與所述第二用戶端的鏈接類型中擇一,而由所述第一用戶端鏈接至所述第二用戶端。
      2、 如權(quán)利要求1所述的建立網(wǎng)絡(luò)鏈接的方法,其特征在于,在所述第一 用戶端中,通過所述中繼服務(wù)器偵測(cè)所述第一用戶端與所述第二用戶端的所 述鏈接類型的步驟,包括通過所述中繼服務(wù)器,由所述第一用戶端傳送一第一偵測(cè)封包至所述第 二用戶端,以使所述第二用戶端回傳一第一確認(rèn)封包;以及在所述第一用戶端中,當(dāng)通過所述中繼服務(wù)器接收到所述第一確認(rèn)封包 時(shí),記錄一第一鏈接類型,以確認(rèn)能夠通過所述中繼服務(wù)器而與所述第二用 戶端建立鏈接。
      3、 如權(quán)利要求2所述的建立網(wǎng)絡(luò)鏈接的方法,其特征在于,在確認(rèn)能夠 通過所述中繼服務(wù)器而與所述第二用戶端建立鏈接的步驟之后,進(jìn)一步包括依據(jù)所述第二用戶端的外部網(wǎng)絡(luò)地址,由所述第一用戶端直接傳送一第 二偵測(cè)封包至所述第二用戶端,以使所述第二用戶端回傳一第二確認(rèn)封包; 以及在所述第一用戶端中,當(dāng)接收到所述第二確認(rèn)封包時(shí),記錄一第二鏈接 類型,以確認(rèn)所述第一用戶端能夠通過所述第二用戶端的外部網(wǎng)絡(luò)地址而直 接與所述第二用戶端建立鏈接。
      4、 如權(quán)利要求2所述的建立網(wǎng)絡(luò)鏈接的方法,其特征在于,在確認(rèn)能夠 通過所述中繼服務(wù)器而與所述第二用戶端建立鏈接的步驟之后,進(jìn)一步包括: 依據(jù)所述第二用戶端的內(nèi)部網(wǎng)絡(luò)地址,由所述第一用戶端直接傳送一第 三偵測(cè)封包至所述第二用戶端,以使所述第二用戶端回傳一第三確認(rèn)封包;以及在所述第一用戶端中,當(dāng)接收到所述第三確認(rèn)封包時(shí),記錄一第三鏈接 類型,以確認(rèn)能夠通過所述第二用戶端的內(nèi)部網(wǎng)絡(luò)地址直接與所述第二用戶 端建立鏈接。
      5、 如權(quán)利要求2所述的建立網(wǎng)絡(luò)鏈接的方法,其特征在于,在所述第一 用戶端中,當(dāng)通過所述中繼服務(wù)器接收到所述第一確認(rèn)封包時(shí),進(jìn)一步包括-允許所述第二用戶端通過所述第一用戶端的防火墻。
      6、 如權(quán)利要求2所述的建立網(wǎng)絡(luò)鏈接的方法,其特征在于,通過所述中 繼服務(wù)器,由所述第一用戶端傳送所述第一偵測(cè)封包至所述第二用戶端的步 驟,進(jìn)一步包括當(dāng)所述第二用戶端接收到所述第一偵測(cè)封包,而回傳所述第一確認(rèn)封包 時(shí),在所述第二用戶端中,允許所述第一用戶端通過所述第二用戶端的防火 墻。
      7、 如權(quán)利要求2所述的建立網(wǎng)絡(luò)鏈接的方法,其特征在于,當(dāng)通過所述 中繼服務(wù)器接收所述第一確認(rèn)封包時(shí),進(jìn)一步包括' 通過所述中繼服務(wù)器,由所述第一用戶端傳送一確認(rèn)回應(yīng)封包至所述第 二用戶端,以使所述第二用戶端確認(rèn)能夠通過所述中繼服務(wù)器而與所述第一 用戶端建立鏈接。
      8、 如權(quán)利要求7所述的建立網(wǎng)絡(luò)鏈接的方法,其特征在于,在通過所述 中繼服務(wù)器,由所述第一用戶端傳送所述確認(rèn)響應(yīng)封包至所述第二用戶端的 步驟之后,進(jìn)一步包括在所述第二用戶端中,依據(jù)所述第一用戶端的外部網(wǎng)絡(luò)地址,偵測(cè)所述 第二用戶端是否能夠通過所述第一用戶端的外部網(wǎng)絡(luò)地址直接鏈接至所述第一用戶端;以及依據(jù)所述第一用戶端的內(nèi)部網(wǎng)絡(luò)地址,偵測(cè)所述第二用戶端是否能夠通 過所述第 一用戶端的內(nèi)部網(wǎng)絡(luò)地址直接鏈接至所述第一用戶端。
      9、 如權(quán)利要求1所述的建立網(wǎng)絡(luò)鏈接的方法,其特征在于,在通過所述中繼服務(wù)器偵測(cè)所述第一用戶端與所述第二用戶端的所述鏈接類型的步驟之 后,進(jìn)一步包括當(dāng)所述第一用戶端無法通過所述中繼服務(wù)器鏈接至所述第二用戶端時(shí), 檢査所述第一用戶端是否能夠與所述中繼服務(wù)器建立鏈接;若所述第一用戶端能夠與所述中繼服務(wù)器建立鏈接,則判定所述第二用 戶端發(fā)生異常;以及若所述第一用戶端無法與所述中繼服務(wù)器建立鏈接,則由所述第一用戶 端傳送一請(qǐng)求封包至所述網(wǎng)頁服務(wù)器,以確認(rèn)所述第一用戶端的網(wǎng)絡(luò)狀態(tài)。
      10、 如權(quán)利要求1所述的建立網(wǎng)絡(luò)鏈接的方法,其特征在于,進(jìn)一步包括當(dāng)所述第一用戶端與所述第二用戶端之間的網(wǎng)絡(luò)環(huán)境改變時(shí),則藉由所 述第一用戶端再次通過所述中繼服務(wù)器,來偵測(cè)所述第一用戶端與所述第二 用戶端的鏈接類型。
      11、 如權(quán)利要求1所述的建立網(wǎng)絡(luò)鏈接的方法,其特征在于,在取得所 述中繼服務(wù)器的網(wǎng)絡(luò)地址的步驟之后,進(jìn)一步包括藉由所述第一用戶端傳送一告知封包至一告知服務(wù)器;以及 在所述第一用戶端中,判斷是否接收到所述告知服務(wù)器所回傳的一回復(fù) 封包,以決定所述第一用戶端與所述第二用戶端之間的一傳輸協(xié)議。
      12、 如權(quán)利要求ll所述的建立網(wǎng)絡(luò)鏈接的方法,其特征在于,所述傳輸 協(xié)議包括傳輸控制協(xié)議(Transmission Control Protocol, TCP)以及用戶數(shù)據(jù) 報(bào)協(xié)議(User Datagram Protocol, UDP)其中之一。
      13、 如權(quán)利要求2所述的建立網(wǎng)絡(luò)鏈接的方法,其特征在于,所述移動(dòng) 通訊系統(tǒng)為第三代無線通信系統(tǒng)。
      14、 一種移動(dòng)通訊系統(tǒng),其特征在于,包括 一網(wǎng)頁服務(wù)器,用以記錄多個(gè)用使用者各自的一相關(guān)數(shù)據(jù); 一中繼服務(wù)器,用以向所述網(wǎng)頁服務(wù)器注冊(cè),以傳送自身的網(wǎng)絡(luò)地址至所述網(wǎng)頁服務(wù)器;以及多個(gè)用戶端,用以登入所述網(wǎng)頁服務(wù)器,以取得自身的所述相關(guān)資料, 所述相關(guān)數(shù)據(jù)包括各個(gè)所述用戶端所屬的所述中繼服務(wù)器的網(wǎng)絡(luò)地址,所述 用戶端至少包括一第一用戶端與一第二用戶端,并且各個(gè)所述用戶端通過所述網(wǎng)頁服務(wù)器指定或自行判斷成為其他用戶端的所述中繼服務(wù)器;其中,所述第一用戶端登入所述網(wǎng)頁服務(wù)器,以取得所述中繼服務(wù)器的 網(wǎng)絡(luò)地址,使得所述第一用戶端依據(jù)所述中繼服務(wù)器的網(wǎng)絡(luò)地址與所述中繼 服務(wù)器建立鏈接,之后,所述第一用戶端通過所述中繼服務(wù)器偵測(cè)所述第一 用戶端與所述第二用戶端的鏈接類型,使得所述第一用戶端從所述第一用戶 端與所述第二用戶端的鏈接類型中擇一 ,而鏈接至所述第二用戶端。
      15、 如權(quán)利要求14所述的移動(dòng)通訊系統(tǒng),其特征在于,進(jìn)一步包括 一告知服務(wù)器,用以在接收所述第一用戶端所傳送的一告知封包時(shí),回傳一回復(fù)封包至所述第一用戶端,以使所述第一用戶端決定與所述第二用戶 端之間的一傳輸協(xié)議 、
      16、 如權(quán)利要求15所述的移動(dòng)通訊系統(tǒng),其特征在于,所述傳輸協(xié)議包 括傳輸控制協(xié)議以及用戶數(shù)據(jù)報(bào)協(xié)議其中之一 。
      17、 如權(quán)利要求14所述的移動(dòng)通訊系統(tǒng),其特征在于,所述第一用戶端 與所述第二用戶端的鏈接類型包括通過所述中繼服務(wù)器而與所述第二用戶端 建立鏈接、通過所述第二用戶端的外部網(wǎng)絡(luò)地址而直接與所述第二用戶端建 立鏈接,以及通過所述第二用戶端的內(nèi)部網(wǎng)絡(luò)地址而直接與所述第二用戶端 建立鏈接。
      18、 如權(quán)利要求14所述的移動(dòng)通訊系統(tǒng),其特征在于,所述第一用戶端 進(jìn)一步包括通過所述中繼服務(wù)器,傳送一第一偵測(cè)封包至所述第二用戶端, 以使所述第二用戶端回傳一第一確認(rèn)封包;并在通過所述中繼服務(wù)器接收到 所述第一確認(rèn)封包時(shí),記錄一第一鏈接類型,以確認(rèn)能夠通過所述中繼服務(wù) 器而與所述第二用戶端建立鏈接。
      19、 如權(quán)利要求18所述的移動(dòng)通訊系統(tǒng),其特征在于,所述第一用戶端進(jìn)一步包括依據(jù)所述第二用戶端的外部網(wǎng)絡(luò)地址與內(nèi)部網(wǎng)絡(luò)地址,分別直接 傳送一第二偵測(cè)封包與一第三偵測(cè)封包至所述第二用戶端,以使所述第二用 戶端分別回傳一第二確認(rèn)封包與一第三確認(rèn)封包;當(dāng)?shù)谝挥脩舳私邮盏剿?第二確認(rèn)封包時(shí),記錄一第二鏈接類型,以確認(rèn)所述第一用戶端能夠通過所 述第二用戶端的外部網(wǎng)絡(luò)地址而直接與所述第二用戶端建立鏈接,而當(dāng)接收 到所述第三確認(rèn)封包時(shí),記錄一第三鏈接類型,以確認(rèn)能夠通過所述第二用 戶端的內(nèi)部網(wǎng)絡(luò)地址直接與所述第二用戶端建立鏈接。
      全文摘要
      一種建立網(wǎng)絡(luò)鏈接的方法及其移動(dòng)通訊系統(tǒng),在第一用戶端鏈接至中繼服務(wù)器之后,第一用戶端通過中繼服務(wù)器偵測(cè)第一用戶端與第二用戶端的鏈接類型,接著,從第一用戶端與第二用戶端的鏈接類型中擇一,使得第一用戶端與第二用戶端建立鏈接;據(jù)此,所述用戶端可動(dòng)態(tài)偵測(cè)并調(diào)整鏈接類型,使得所述用戶端在不同的網(wǎng)絡(luò)環(huán)境中移動(dòng)時(shí),得以保持鏈接。
      文檔編號(hào)H04L29/06GK101360048SQ20081014293
      公開日2009年2月4日 申請(qǐng)日期2008年7月21日 優(yōu)先權(quán)日2007年7月27日
      發(fā)明者周景弘, 陳宏毅 申請(qǐng)人:直通國際股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1