欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種安全的私有云內(nèi)服務(wù)器接受外部連接的方法與流程

文檔序號:11878808閱讀:447來源:國知局
一種安全的私有云內(nèi)服務(wù)器接受外部連接的方法與流程

本發(fā)明涉及信息安全、計算機網(wǎng)絡(luò)等技術(shù)領(lǐng)域,具體的說,是一種安全的私有云內(nèi)服務(wù)器接受外部連接的方法。



背景技術(shù):

隨著互聯(lián)網(wǎng)云技術(shù)的飛速發(fā)展,基于Web技術(shù)的HTTP“請求-應(yīng)答”的服務(wù)器工作模式使用越來越廣泛。無論是構(gòu)建服務(wù)器還是應(yīng)用軟件軟件開發(fā)的過程中,如果能夠契合這種“請求-應(yīng)答”模式,那么許多現(xiàn)成的開發(fā)工具和應(yīng)用框架就可以被直接使用從而省去大量人力和時間成本。

Web就是一種超文本信息系統(tǒng),Web的一個主要的概念就是超文本連接,它使得文本不再象一本書一樣是固定的線性。而是可以從一個位置跳到另外的位置。使用者可以從中獲取更多的信息??梢赞D(zhuǎn)到別的主題上。想要了解某一個主題的內(nèi)容只要在這個主題上點一下,就可以跳轉(zhuǎn)到包含這一主題的文檔上。正是這種多連接性使得它被稱為Web。

B/S結(jié)構(gòu)(Browser/Server,瀏覽器/服務(wù)器模式),是Web興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,Web瀏覽器是客戶端最主要的應(yīng)用軟件。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實現(xiàn)的核心部分集中到服務(wù)器上,簡化了系統(tǒng)的開發(fā)、維護(hù)和使用。客戶機上只要安裝一個瀏覽器,如Internet Explorer,就可以與服務(wù)器進(jìn)行數(shù)據(jù)交互。在這種結(jié)構(gòu)下,用戶界面完全通過瀏覽器實現(xiàn)。

HTTP是一種讓W(xué)eb服務(wù)器與瀏覽器(客戶端)通過Internet發(fā)送與接收數(shù)據(jù)的協(xié)議。它是一個請求、響應(yīng)協(xié)議:客戶端發(fā)出一個請求,服務(wù)器響應(yīng)這個請求。HTTP運用可靠的 TCP連接,通常是TCP80端口。HTTP的通信原理決定了只能是瀏覽器向Web服務(wù)器發(fā)起請求,Web服務(wù)器應(yīng)答。HTTP技術(shù)本身無法實現(xiàn)Web服務(wù)器主動向瀏覽器發(fā)送數(shù)據(jù),因為沒有瀏覽器的首先請求連接,瀏覽器與Web服務(wù)器之間不存在通信鏈路。

在私有云環(huán)境中有這樣的應(yīng)用場景,私有云內(nèi)部的Web服務(wù)器為內(nèi)網(wǎng)的使用者提供服務(wù),但某些時候也需要外部網(wǎng)絡(luò)的設(shè)備能夠連接到該服務(wù)器,出于安全考慮又不能將服務(wù)器和端口暴露出去(如果這樣處理還會涉及到客戶端穿透NAT的問題),甚至希望由服務(wù)器首先發(fā)起TCP連接來指定哪一臺設(shè)備來使用服務(wù)(順帶解決了NAT穿透的問題),之后的上層應(yīng)用數(shù)據(jù)都使用該TCP連接進(jìn)行傳輸。為了使開發(fā)和維護(hù)工作更簡單,還希望能夠使用通用的HTTP協(xié)議流程(修改協(xié)議流程可能帶來不可預(yù)料的風(fēng)險)。

通常情況下HTTP的工作原理決定了Web服務(wù)器只能被動等待客戶端的連接請求,因此也只能通過帳號密碼等被動驗證方式來明確客戶端的身份是否合法,即是說任何客戶端只要擁有這些驗證信息就會被服務(wù)器端接受為合法用戶,所以一旦帳號密碼等驗證信息被泄漏這類驗證方式即被攻破。



技術(shù)實現(xiàn)要素:

本發(fā)明的目的在于提供一種安全的私有云內(nèi)服務(wù)器接受外部連接的方法,實現(xiàn)服務(wù)器端主動向客戶端發(fā)起TCP連接,之后客戶端使用該條TCP連接傳輸上層應(yīng)用(如HTTP)數(shù)據(jù)。

本發(fā)明通過下述技術(shù)方案實現(xiàn):一種安全的私有云內(nèi)服務(wù)器接受外部連接的方法,包括采用服務(wù)器端主動令客戶端發(fā)起請求的方法實現(xiàn)服務(wù)器端程序、服務(wù)器端轉(zhuǎn)發(fā)程序、客戶端程序及客戶端轉(zhuǎn)發(fā)程序間的數(shù)據(jù)交互。

進(jìn)一步的為更好的實現(xiàn)本發(fā)明,特別采用下述設(shè)置方式:所述采用服務(wù)器端主動令客戶端發(fā)起請求的方法包括:分別在服務(wù)器端部署服務(wù)器端轉(zhuǎn)發(fā)程序,在客戶端部署客戶端轉(zhuǎn)發(fā)程序,使服務(wù)器端轉(zhuǎn)發(fā)程序能夠向客戶端轉(zhuǎn)發(fā)程序發(fā)起TCP連接請求。

進(jìn)一步的為更好的實現(xiàn)本發(fā)明,特別采用下述設(shè)置方式:所述TCP連接在服務(wù)器和客戶端之間有且僅有一條通信鏈路,之后的應(yīng)用層數(shù)據(jù)會使用這一條TCP鏈路進(jìn)行傳輸。

進(jìn)一步的為更好的實現(xiàn)本發(fā)明,特別采用下述設(shè)置方式:所述通信鏈路通過下述步驟建立:

1)服務(wù)器端轉(zhuǎn)發(fā)程序分別向客戶端轉(zhuǎn)發(fā)程序和服務(wù)器端程序發(fā)起TCP連接請求,當(dāng)成功建立后,服務(wù)器端轉(zhuǎn)發(fā)程序在服務(wù)器端轉(zhuǎn)發(fā)程序-客戶端轉(zhuǎn)發(fā)程序和服務(wù)器端轉(zhuǎn)發(fā)程序-服務(wù)器端程序之間建立TCP數(shù)據(jù)包轉(zhuǎn)發(fā)關(guān)系;

2)客戶端轉(zhuǎn)發(fā)程序分別監(jiān)聽兩個TCP端口——一個TCP端口用于接收服務(wù)器端轉(zhuǎn)發(fā)程序向客戶端轉(zhuǎn)發(fā)程序發(fā)起的服務(wù)器端轉(zhuǎn)發(fā)程序-客戶端轉(zhuǎn)發(fā)程序的TCP連接請求;另一個TCP端口用于接收客戶端程序的TCP連接請求;當(dāng)成功建立之后,客戶端轉(zhuǎn)發(fā)程序在服務(wù)器端轉(zhuǎn)發(fā)程序-客戶端轉(zhuǎn)發(fā)程序和客戶端轉(zhuǎn)發(fā)程序-客戶端程序之間建立TCP數(shù)據(jù)包轉(zhuǎn)發(fā)關(guān)系;

3)在客戶端程序和服務(wù)器端程序之間建立一條完整的TCP連接:客戶端程序的所有基于TCP數(shù)據(jù)包都會被客戶端轉(zhuǎn)發(fā)程序轉(zhuǎn)發(fā)給服務(wù)器端轉(zhuǎn)發(fā)程序,服務(wù)器端轉(zhuǎn)發(fā)程序再轉(zhuǎn)發(fā)給服務(wù)器端程序;且服務(wù)器端程序的所有基于TCP數(shù)據(jù)包都會被服務(wù)器端轉(zhuǎn)發(fā)程序轉(zhuǎn)發(fā)給客戶端轉(zhuǎn)發(fā)程序,客戶端轉(zhuǎn)發(fā)程序再轉(zhuǎn)發(fā)給客戶端程序。

進(jìn)一步的為更好的實現(xiàn)本發(fā)明,特別采用下述設(shè)置方式:所述建立TCP數(shù)據(jù)包轉(zhuǎn)發(fā)關(guān)系的過程中,滿足所有的數(shù)據(jù)包都被轉(zhuǎn)發(fā),在轉(zhuǎn)發(fā)關(guān)系建立的過程中,一端連接已經(jīng)建立完成而另一端尚未完成時,當(dāng)先建立好的一端已發(fā)送數(shù)據(jù),則將這些已發(fā)送數(shù)據(jù)按順序緩存起來,直到另一端建立完成后再按順序發(fā)送。

進(jìn)一步的為更好的實現(xiàn)本發(fā)明,特別采用下述設(shè)置方式:當(dāng)服務(wù)器端程序與客戶端程序需要進(jìn)行數(shù)據(jù)交互時,通過服務(wù)器端轉(zhuǎn)發(fā)程序與客戶端轉(zhuǎn)發(fā)程序之間交互后才分別向服務(wù)器端程序或客戶端程序進(jìn)行交互。

進(jìn)一步的為更好的實現(xiàn)本發(fā)明,特別采用下述設(shè)置方式:所述服務(wù)器端轉(zhuǎn)發(fā)程序能夠向客戶端轉(zhuǎn)發(fā)程序發(fā)起TCP連接請求,亦能夠向服務(wù)器端程序發(fā)起TCP連接請求,并在兩個TCP連接之間轉(zhuǎn)發(fā)TCP數(shù)據(jù)包。

進(jìn)一步的為更好的實現(xiàn)本發(fā)明,特別采用下述設(shè)置方式:所述客戶端轉(zhuǎn)發(fā)程序,接受來自服務(wù)器端轉(zhuǎn)發(fā)程序的TCP連接請求,亦接受來自客戶端程序的TCP連接請求,在這兩個TCP連接之間轉(zhuǎn)發(fā)TCP數(shù)據(jù)包。

進(jìn)一步的為更好的實現(xiàn)本發(fā)明,特別采用下述設(shè)置方式:所述服務(wù)器端程序和客戶端程序之間配置零改變。

本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點及有益效果:

本發(fā)明實現(xiàn)服務(wù)器端主動向客戶端發(fā)起TCP連接,之后客戶端使用該條TCP連接傳輸上層應(yīng)用(如HTTP)數(shù)據(jù)。

本發(fā)明在實際應(yīng)用中,設(shè)備之間能夠便捷地穿透NAT或防火墻進(jìn)行通訊(除非經(jīng)過特別配置,處于NAT或防火墻之后的設(shè)備無法被外部設(shè)備主動訪問,只能由內(nèi)部設(shè)備主動向外部發(fā)起連接請求),比如某些特定情況下一臺私有云網(wǎng)絡(luò)內(nèi)部的Web服務(wù)器想要接受外部的客戶端來連接它。

本發(fā)明在實際應(yīng)用中,因為連接是由服務(wù)器主動發(fā)起所以服務(wù)器明確地知道對方是一個安全的使用者,如此就無需再進(jìn)行額外的安全認(rèn)證等工作,節(jié)約工作量提升服務(wù)速度;

本發(fā)明在實際應(yīng)用中,因為該方法僅涉及到TCP數(shù)據(jù)的轉(zhuǎn)發(fā),基于TCP之上的應(yīng)用層協(xié)議并不會察覺到這些改變的存在,應(yīng)用層流程如常用的HTTP框架可以照常使用,提高工作效率。

附圖說明

圖1為本發(fā)明的原理圖。

圖2為本發(fā)明的流程圖。

具體實施方式

本發(fā)明涉及計算機網(wǎng)絡(luò)、信息安全技術(shù)等多方面內(nèi)容,是計算機技術(shù)在上述領(lǐng)域的一種綜合應(yīng)用。申請人認(rèn)為,如在仔細(xì)閱讀申請文件、準(zhǔn)確理解本發(fā)明的實現(xiàn)原理和發(fā)明目的以后,在結(jié)合現(xiàn)有公知技術(shù)的情況下,本領(lǐng)域技術(shù)人員完全可以運用其掌握的軟件編程技能實現(xiàn)本發(fā)明。

下面結(jié)合實施例對本發(fā)明作進(jìn)一步地詳細(xì)說明,但本發(fā)明的實施方式不限于此。

實施例1:

本發(fā)明提出了一種安全的私有云內(nèi)服務(wù)器接受外部連接的方法,實現(xiàn)服務(wù)器端主動向客戶端發(fā)起TCP連接,之后客戶端使用該條TCP連接傳輸上層應(yīng)用(如HTTP)數(shù)據(jù),結(jié)合圖1、圖2所示,特別采用下述設(shè)置方式:包括采用服務(wù)器端主動令客戶端發(fā)起請求的方法實現(xiàn)服務(wù)器端程序、服務(wù)器端轉(zhuǎn)發(fā)程序、客戶端程序及客戶端轉(zhuǎn)發(fā)程序間的數(shù)據(jù)交互。

服務(wù)器主動令客戶端發(fā)起請求的方法,包括以下程序的交互:

1、服務(wù)器端程序:S(就是通常使用的Web服務(wù)器程序);

2、服務(wù)器端轉(zhuǎn)發(fā)程序(服務(wù)器端TCP轉(zhuǎn)發(fā)程序):Ps;

3、客戶端程序:C(就是通常使用的客戶端程序);

4、客戶端轉(zhuǎn)發(fā)程序(客戶端TCP轉(zhuǎn)發(fā)程序):Pc。

實施例2:

本實施例是在上述實施例的基礎(chǔ)上進(jìn)一步優(yōu)化,進(jìn)一步的為更好的實現(xiàn)本發(fā)明,結(jié)合圖1、圖2所示,特別采用下述設(shè)置方式:所述采用服務(wù)器端主動令客戶端發(fā)起請求的方法包括:分別在服務(wù)器端部署服務(wù)器端轉(zhuǎn)發(fā)程序,在客戶端部署客戶端轉(zhuǎn)發(fā)程序,使服務(wù)器端轉(zhuǎn)發(fā)程序能夠向客戶端轉(zhuǎn)發(fā)程序發(fā)起TCP連接請求。

實施例3:

本實施例是在上述任一實施例的基礎(chǔ)上進(jìn)一步優(yōu)化,進(jìn)一步的為更好的實現(xiàn)本發(fā)明,如圖1、圖2所示,特別采用下述設(shè)置方式:所述TCP連接在服務(wù)器和客戶端之間有且僅有一條通信鏈路,之后的應(yīng)用層數(shù)據(jù)會使用這一條TCP鏈路進(jìn)行傳輸。

當(dāng)服務(wù)器端的服務(wù)器端程序希望客戶端的客戶端程序向服務(wù)器端發(fā)起應(yīng)用層請求時(如HTTP請求),服務(wù)器端轉(zhuǎn)發(fā)程序會首先向客戶端轉(zhuǎn)發(fā)程序發(fā)起TCP連接,該TCP連接,在服務(wù)器和客戶端之間有且僅有一條通信鏈路,之后的應(yīng)用層數(shù)據(jù)會使用這一條TCP鏈路進(jìn)行傳輸。

實施例4:

本實施例是在上述任一實施例的基礎(chǔ)上進(jìn)一步優(yōu)化,進(jìn)一步的為更好的實現(xiàn)本發(fā)明,如圖1、圖2所示,特別采用下述設(shè)置方式:所述通信鏈路通過下述步驟建立:

1)服務(wù)器端轉(zhuǎn)發(fā)程序(Ps)分別向客戶端轉(zhuǎn)發(fā)程序(Pc)和服務(wù)器端程序(S)發(fā)起TCP連接請求,當(dāng)成功建立后,服務(wù)器端轉(zhuǎn)發(fā)程序(Ps)在服務(wù)器端轉(zhuǎn)發(fā)程序(Ps)-客戶端轉(zhuǎn)發(fā)程序(Pc)和服務(wù)器端轉(zhuǎn)發(fā)程序(Ps)-服務(wù)器端程序(S)之間建立TCP數(shù)據(jù)包轉(zhuǎn)發(fā)關(guān)系;即所有Pc發(fā)送給Ps的TCP數(shù)據(jù)包都會被轉(zhuǎn)發(fā)給S,同時所有S發(fā)送給Ps的TCP數(shù)據(jù)包都會被轉(zhuǎn)發(fā)給Pc;

2)客戶端轉(zhuǎn)發(fā)程序(Pc)分別監(jiān)聽兩個TCP端口——一個TCP端口用于接收服務(wù)器端轉(zhuǎn)發(fā)程序(Ps)向客戶端轉(zhuǎn)發(fā)程序(Pc)發(fā)起的服務(wù)器端轉(zhuǎn)發(fā)程序(Ps)-客戶端轉(zhuǎn)發(fā)程序(Pc)的TCP連接請求;另一個TCP端口用于接收客戶端程序(C)的TCP連接請求(簡稱為Pc-C);兩者不分先后,當(dāng)兩條連接成功建立之后,客戶端轉(zhuǎn)發(fā)程序(Pc)在服務(wù)器端轉(zhuǎn)發(fā)程序(Ps)-客戶端轉(zhuǎn)發(fā)程序(Pc)和客戶端轉(zhuǎn)發(fā)程序(Pc)-客戶端程序(C)之間建立TCP數(shù)據(jù)包轉(zhuǎn)發(fā)關(guān)系;

3)至此,在客戶端程序(C)和服務(wù)器端程序(S)之間建立成功一條完整的TCP連接:客戶端程序(C)的所有基于TCP數(shù)據(jù)包都會被客戶端轉(zhuǎn)發(fā)程序(Pc)轉(zhuǎn)發(fā)給服務(wù)器端轉(zhuǎn)發(fā)程序(Ps),服務(wù)器端轉(zhuǎn)發(fā)程序(Ps)再轉(zhuǎn)發(fā)給服務(wù)器端程序(S);且服務(wù)器端程序(S)的所有基于TCP數(shù)據(jù)包都會被服務(wù)器端轉(zhuǎn)發(fā)程序(Ps)轉(zhuǎn)發(fā)給客戶端轉(zhuǎn)發(fā)程序(Pc),客戶端轉(zhuǎn)發(fā)程序(Pc)再轉(zhuǎn)發(fā)給客戶端的客戶端程序(C)。

在本實施例的實施中,如“A-B”類型的簡稱用于表示兩個端點之間有連接關(guān)系,端點的順序是無關(guān)緊要的,即“A-B”和“B-A”是同一條連接。

實施例5:

本實施例是在上述任一實施例的基礎(chǔ)上進(jìn)一步優(yōu)化,進(jìn)一步的為更好的實現(xiàn)本發(fā)明,如圖1、圖2所示,特別采用下述設(shè)置方式:所述建立TCP數(shù)據(jù)包轉(zhuǎn)發(fā)關(guān)系的過程中,滿足所有的數(shù)據(jù)包都被轉(zhuǎn)發(fā),在轉(zhuǎn)發(fā)關(guān)系建立的過程中,一端連接已經(jīng)建立完成而另一端尚未完成時,當(dāng)先建立好的一端已發(fā)送數(shù)據(jù),則將這些已發(fā)送數(shù)據(jù)按順序緩存起來,直到另一端建立完成后再按順序發(fā)送。

實施例6:

本實施例是在上述任一實施例的基礎(chǔ)上進(jìn)一步優(yōu)化,進(jìn)一步的為更好的實現(xiàn)本發(fā)明,如圖1、圖2所示,特別采用下述設(shè)置方式:當(dāng)服務(wù)器端程序與客戶端程序需要進(jìn)行數(shù)據(jù)交互時,通過服務(wù)器端轉(zhuǎn)發(fā)程序與客戶端轉(zhuǎn)發(fā)程序之間交互后才分別向服務(wù)器端程序或客戶端程序進(jìn)行交互;特別的,當(dāng)服務(wù)器端希望客戶端向服務(wù)器端發(fā)起應(yīng)用層請求時,所述服務(wù)器端轉(zhuǎn)發(fā)程序會首先向客戶端轉(zhuǎn)發(fā)程序發(fā)起TCP連接。

實施例7:

本實施例是在上述任一實施例的基礎(chǔ)上進(jìn)一步優(yōu)化,進(jìn)一步的為更好的實現(xiàn)本發(fā)明,如圖1、圖2所示,特別采用下述設(shè)置方式:所述服務(wù)器端轉(zhuǎn)發(fā)程序能夠向客戶端轉(zhuǎn)發(fā)程序發(fā)起TCP連接請求,亦能夠向服務(wù)器端程序發(fā)起TCP連接請求,并在兩個TCP連接之間轉(zhuǎn)發(fā)TCP數(shù)據(jù)包;具體是:如果收到來自服務(wù)器端的數(shù)據(jù)包則原樣轉(zhuǎn)發(fā)給客戶端轉(zhuǎn)發(fā)程序(Pc),如果收到來自客戶端轉(zhuǎn)發(fā)程序(Pc)的數(shù)據(jù)包則原樣轉(zhuǎn)發(fā)給服務(wù)器。

實施例8:

本實施例是在上述任一實施例的基礎(chǔ)上進(jìn)一步優(yōu)化,進(jìn)一步的為更好的實現(xiàn)本發(fā)明,如圖1、圖2所示,特別采用下述設(shè)置方式:所述客戶端轉(zhuǎn)發(fā)程序,接受來自服務(wù)器端轉(zhuǎn)發(fā)程序的TCP連接請求,亦接受來自客戶端程序的TCP連接請求,在這兩個TCP連接之間轉(zhuǎn)發(fā)TCP數(shù)據(jù)包;具體是指:如果收到來自客戶端的數(shù)據(jù)包則原樣轉(zhuǎn)發(fā)給服務(wù)器端轉(zhuǎn)發(fā)程序(Ps),如果收到來自服務(wù)器端轉(zhuǎn)發(fā)程序(Ps)的數(shù)據(jù)包則原樣轉(zhuǎn)發(fā)給客戶端。

實施例9:

本實施例是在上述任一實施例的基礎(chǔ)上進(jìn)一步優(yōu)化,進(jìn)一步的為更好的實現(xiàn)本發(fā)明,如圖1、圖2所示,特別采用下述設(shè)置方式:所述服務(wù)器端程序和客戶端程序之間配置零改變,即服務(wù)器端程序(S)和客戶端程序(C)不需要進(jìn)行任何修改,和它們之間直接連接一樣按照通常方式使用;簡而言之,所有基于TCP之上的應(yīng)用層協(xié)議都不會察覺到下層TCP轉(zhuǎn)發(fā)動作的存在。

實施例10:

本實施例是在上述任一實施例的基礎(chǔ)上進(jìn)一步優(yōu)化,一種安全的私有云內(nèi)服務(wù)器接受外部連接的方法,如圖1、圖2所示,涉及:

服務(wù)器端TCP轉(zhuǎn)發(fā)程序:該程序主動發(fā)起兩個TCP連接請求——一端向客戶端TCP轉(zhuǎn)發(fā)程序端口發(fā)起TCP連接請求;另一端向真正對外提供服務(wù)的服務(wù)器端口發(fā)起TCP連接請求;當(dāng)這兩條連接成功建立之后在它們之間建立TCP數(shù)據(jù)包轉(zhuǎn)發(fā)關(guān)系;

客戶端TCP轉(zhuǎn)發(fā)程序:該程序被動接受兩個TCP連接請求——一端接受服務(wù)器端TCP轉(zhuǎn)發(fā)程序發(fā)起的TCP連接請求;另一端接受用戶真正使用的應(yīng)用程序客戶端發(fā)起的TCP連接請求;當(dāng)這兩條連接成功建立之后在它們之間建立TCP數(shù)據(jù)包轉(zhuǎn)發(fā)關(guān)系。

通過以下幾部分的配合來實現(xiàn)本發(fā)明:服務(wù)器端程序(S)、客戶端程序(C)、服務(wù)器端轉(zhuǎn)發(fā)程序亦為服務(wù)器端TCP轉(zhuǎn)發(fā)程序(Ps)、客戶端轉(zhuǎn)發(fā)程序亦為客戶端TCP轉(zhuǎn)發(fā)程序(Pc)。

假設(shè)某一個時刻服務(wù)器端程序(S)上更新了最新的信息,S希望能夠這些信息發(fā)送給C。在通常情況下,S只能被動等待C來連接自己,到那個時候才能將這些最新信息發(fā)送給C,這會帶來延遲,為了降低這些延遲C需要更頻繁地向S發(fā)起連接或者發(fā)起連接之后一直保持連接而不斷開,不過這樣會帶來大量的服務(wù)器資源浪費。

在本實施例中:

1.1、S開放端口提供某類信息服務(wù),任何客戶端連接S的該服務(wù)端口都可以獲取最新的該類信息。某一時刻S更新了最新的該類信息,S希望主動觸發(fā)客戶端C來連接S的服務(wù)端口以獲取該更新(而不是被動等待某個周期性的時間后C自己連接S)。

1.2、在S端部署服務(wù)器端轉(zhuǎn)發(fā)程序,Ps能夠成功發(fā)起向S服務(wù)端口的TCP連接,同時Ps能夠成功發(fā)起向Pc(部署在C端客戶端轉(zhuǎn)發(fā)程序)的TCP連接。

1.3、在C端部署客戶端轉(zhuǎn)發(fā)程序,Pc能夠成功被C發(fā)起TCP連接,同時Pc亦能夠成功被Ps發(fā)起TCP連接。

具體實現(xiàn)實現(xiàn)流程為:

2.1、S向Ps發(fā)送指令:“請讓C向我發(fā)起連接”。

2.2、Ps收到指令,Ps向Pc發(fā)起TCP連接請求。

2.3、Pc收到請求,建立連接Ps-Pc;Pc啟動客戶端程序C,讓C連接本機由Pc預(yù)定的某個端口,建立連接C-Pc。當(dāng)Ps-Pc和C-Pc都成功建立之后,在這兩條連接之間建立TCP數(shù)據(jù)包轉(zhuǎn)發(fā)關(guān)系。

2.4、在執(zhí)行2.2時,Ps向S服務(wù)端口發(fā)起TCP連接請求,建立連接Ps-S;當(dāng)Ps-Pc和Ps-S都成功建立之后,為它們建立TCP數(shù)據(jù)包轉(zhuǎn)發(fā)關(guān)系。

2.5、至此,一條從C經(jīng)由連接C-Pc到Pc,從Pc經(jīng)由Pc-Ps到Ps,從Ps經(jīng)由Ps-S到S的TCP鏈路建立完畢,之后C和S之間基于TCP的上層應(yīng)用數(shù)據(jù)都能正常傳輸,就如同C和S直接進(jìn)行TCP通訊一樣。

以上所述,僅是本發(fā)明的較佳實施例,并非對本發(fā)明做任何形式上的限制,凡是依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所作的任何簡單修改、等同變化,均落入本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
前郭尔| 嘉善县| 从化市| 麻城市| 庆城县| 松溪县| 花莲市| 敖汉旗| 巨野县| 西城区| 长葛市| 永善县| 平凉市| 武宁县| 镇原县| 上栗县| 西贡区| 永仁县| 阳西县| 星子县| 广安市| 江都市| 镇巴县| 岢岚县| 大悟县| 鹤峰县| 阿瓦提县| 贺州市| 正定县| 綦江县| 普洱| 庄河市| 汤原县| 信阳市| 临安市| 景洪市| 东源县| 县级市| 同仁县| 华亭县| 泾源县|