• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于WCF判別內(nèi)外網(wǎng)訪問服務(wù)器的方法

      2014-04-01 07:14:58,,
      關(guān)鍵詞:內(nèi)網(wǎng)配置文件IP地址

      , ,

      (河南大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,河南 開封 475004)

      隨著信息化進(jìn)程的不斷推進(jìn),越來越多的公司遇到內(nèi)外網(wǎng)同時(shí)訪問服務(wù)器的問題,目前解決此問題有兩種方法:①服務(wù)器發(fā)布兩套服務(wù),一套針對(duì)內(nèi)網(wǎng)用戶,一套針對(duì)外網(wǎng)用戶;②通過“域名”來實(shí)現(xiàn)內(nèi)外網(wǎng)統(tǒng)一訪問[1]。方法①會(huì)有大量重復(fù)工作,浪費(fèi)資源,不可行;方法②能使內(nèi)外網(wǎng)用戶利用同一個(gè)域名統(tǒng)一訪問服務(wù)器,雖然也能解決內(nèi)外網(wǎng)同時(shí)訪問的問題,但是需要單獨(dú)安裝部署內(nèi)網(wǎng)DNS服務(wù)器,大大增加了成本。

      隨著互聯(lián)網(wǎng)絡(luò)、計(jì)算機(jī)技術(shù)的快速發(fā)展,相關(guān)專業(yè)人士已經(jīng)解決了同一服務(wù)器跨越內(nèi)外網(wǎng)提供服務(wù)的網(wǎng)絡(luò)技術(shù)問題,通過網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù)(NAT)實(shí)現(xiàn)服務(wù)器內(nèi)外網(wǎng)IP端口映射[2-4]。但對(duì)于服務(wù)器和客戶端的通信問題以及內(nèi)外網(wǎng)用戶區(qū)分的問題,還需進(jìn)一步探討。基于此,本文提出了一種基于WCF通信技術(shù)判別內(nèi)外網(wǎng)訪問服務(wù)器的方法。

      1 內(nèi)外網(wǎng)問題

      服務(wù)器位于內(nèi)網(wǎng),分配一個(gè)內(nèi)網(wǎng)IP,便于為內(nèi)網(wǎng)用戶提供服務(wù);通過NAT可以獲取一個(gè)外網(wǎng)IP端口,便于為外網(wǎng)用戶提供服務(wù)。用戶根據(jù)所處內(nèi)外網(wǎng)環(huán)境不同而采用不同的路徑訪問。內(nèi)外網(wǎng)問題可描述為如何區(qū)分用戶所處環(huán)境,并賦予其相應(yīng)的訪問路徑,使其能正常訪問服務(wù)器。這就需要解決服務(wù)器和客戶端的通信問題。

      公司對(duì)外發(fā)布Web服務(wù)和FTP服務(wù),用戶訪問公司的Web服務(wù)和通過網(wǎng)頁鏈接訪問FTP服務(wù)時(shí),要能正確區(qū)分內(nèi)外網(wǎng)用戶,使他們均能按照權(quán)限管理策略,采用正確的訪問路徑正常訪問和下載數(shù)據(jù)。解決此問題的系統(tǒng)網(wǎng)絡(luò)拓?fù)淙鐖D1所示。

      2 基于WCF技術(shù)判別訪問的方法

      WCF(Windows Communication Foundation)是由微軟開發(fā)的一系列支持?jǐn)?shù)據(jù)通信的應(yīng)用程序框架,它集成了Web服務(wù)、遠(yuǎn)程處理、消息隊(duì)列以及各種通信協(xié)議,并提供了可擴(kuò)展通信技術(shù),是一個(gè)用于創(chuàng)建和運(yùn)行分布式系統(tǒng)的技術(shù)集合,使用它能創(chuàng)建安全的、可靠的、跨平臺(tái)的分布式解決方案,且能與已有系統(tǒng)兼容協(xié)作。

      本文采用WCF技術(shù)解決客戶端和服務(wù)器端跨越內(nèi)外網(wǎng)的通信問題,并利用WCF服務(wù)來判別內(nèi)外網(wǎng)用戶,解決了系統(tǒng)兼容性問題。由于WCF技術(shù)具有跨平臺(tái)、可多種程序作宿主的特性,所以,在不同平臺(tái)、不同程序的開發(fā)中被廣泛應(yīng)用,亦即,本文解決內(nèi)外網(wǎng)問題的方法可推廣到多種開發(fā)程序中。

      圖1 系統(tǒng)網(wǎng)絡(luò)拓?fù)鋱D

      2.1 方法原理

      將FTP服務(wù)器的內(nèi)、外網(wǎng)IP地址和端口號(hào)分別按照一定的格式寫入配置文件,并將內(nèi)網(wǎng)IP地址范圍也寫入配置文件。服務(wù)器端創(chuàng)建WCF服務(wù),獲取配置文件中FTP服務(wù)器的內(nèi)、外網(wǎng)IP地址和端口號(hào),并分別將其加工成內(nèi)、外網(wǎng)數(shù)據(jù)下載訪問路徑。同時(shí),獲取配置文件中內(nèi)網(wǎng)IP地址范圍。用戶登錄Web網(wǎng)站,在客戶端發(fā)送數(shù)據(jù)下載請(qǐng)求,調(diào)用WCF服務(wù),與服務(wù)端進(jìn)行通信,服務(wù)端接收請(qǐng)求,并從消息屬性中獲取用戶IP,將其與內(nèi)網(wǎng)IP地址范圍進(jìn)行對(duì)比,判斷用戶是否屬于內(nèi)網(wǎng)。然后根據(jù)判斷結(jié)果,采用相應(yīng)的訪問路徑鏈接到FTP下載頁面,使用戶能正常下載數(shù)據(jù)。方法原理流程如圖2所示。

      圖2 方法原理流程圖

      2.2 實(shí)現(xiàn)過程

      首先,分別獲取配置文件中FTP的內(nèi)、外網(wǎng)訪問路徑和內(nèi)網(wǎng)IP地址范圍。具體步驟是:①在網(wǎng)站的服務(wù)器端創(chuàng)建WCF服務(wù),讀取配置文件中FTP的內(nèi)、外網(wǎng)IP地址和端口號(hào);②將上述信息加工成內(nèi)、外網(wǎng)FTP下載地址;③讀取配置文件中的內(nèi)網(wǎng)地址范圍。其次,獲取客戶端用戶IP并判斷是否屬于內(nèi)網(wǎng)。

      用戶訪問網(wǎng)站時(shí),客戶端和服務(wù)端會(huì)互傳消息,應(yīng)用WCF通信技術(shù),可以跨平臺(tái)、跨越網(wǎng)絡(luò)。在網(wǎng)站后臺(tái)服務(wù)端創(chuàng)建WCF服務(wù),獲取這些消息的屬性,從中獲取客戶端用戶的IP。步驟如下:

      (1)獲取當(dāng)前線程的執(zhí)行上下文:

      OperationContext context =

      OperationContext.Current

      (2)獲取上下文中傳入消息的消息屬性:

      MessageProperties messageProperties =

      context.IncomingMessageProperties

      (3)使得發(fā)送消息的客戶端IP地址和端口號(hào)可用:

      RemoteEndpointMessageProperty endpointProperty=messageProperties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty

      (4)獲取發(fā)送消息的客戶端的IP地址:

      string clientIP =

      endpointProperty.Address;

      (5)將獲取的用戶IP和內(nèi)網(wǎng)地址范圍對(duì)比,判斷其是否屬于內(nèi)網(wǎng):

      string[] innerIpStart =

      Option.Parameter.InnerFTPipStart.Split('.');

      string[] innerIpEnd =

      Option.Parameter.InnerFTPipEnd.Split('.');

      string[] clientIPs=clientIP.Split('.');

      if (clientIPs[0] ==

      innerIpStart[0]&&clientIPs[1]==innerIp

      Start[1]&&clientIPs[2]==innerIpStart[2])

      {

      if (int.Parse(clientIPs[3]) >

      int.Parse(innerIpStart[3])

      &&int.Parse(clientIPs[3]) <

      int.Parse(innerIpEnd[3]))

      flag = true;

      }

      else

      flag=false

      最后,Web前臺(tái)客戶端根據(jù)上述判斷結(jié)果采用相應(yīng)的下載路徑:內(nèi)網(wǎng)IP采用內(nèi)網(wǎng)下載路徑,外網(wǎng)IP采用外網(wǎng)下載路徑,鏈接到FTP。

      外網(wǎng)用戶訪問服務(wù)時(shí),由于跨越內(nèi)外網(wǎng)以及安全措施防火墻,客戶端不能直接訪問服務(wù)器端的配置文件,不能做相關(guān)操作,需要通過WCF技術(shù)與服務(wù)器端進(jìn)行通信來完成這些操作,從而實(shí)現(xiàn)內(nèi)外網(wǎng)的隔離并做到實(shí)時(shí)傳輸數(shù)據(jù)。

      判別內(nèi)外網(wǎng)用戶是后臺(tái)服務(wù)器執(zhí)行的。終端用戶訪問網(wǎng)頁,進(jìn)行下載操作,只要正常鏈接到FTP,即可下載數(shù)據(jù)。

      2.3 項(xiàng)目驗(yàn)證

      在“XX業(yè)務(wù)化運(yùn)行系統(tǒng)——用戶服務(wù)分系統(tǒng)”中,如圖3所示,用戶下載產(chǎn)品時(shí)需要解決內(nèi)外網(wǎng)問題,采用的就是本文提出的解決辦法。

      圖3 XX業(yè)務(wù)化運(yùn)行系統(tǒng)——用戶服務(wù)分系統(tǒng)主界面

      用戶選擇要下載的產(chǎn)品,點(diǎn)擊【下載】按鈕,等待后臺(tái)服務(wù)器處理。未應(yīng)用此方法時(shí),不管配置文件中填寫的是FTP服務(wù)器內(nèi)網(wǎng)IP地址還是外網(wǎng)IP地址,總有一些用戶(可能是內(nèi)網(wǎng)用戶,也可能是外網(wǎng)用戶)在發(fā)出數(shù)據(jù)下載請(qǐng)求時(shí),系統(tǒng)出現(xiàn)問題,不能正常鏈接到FTP下載頁面。應(yīng)用此方法后,系統(tǒng)即可鏈接到FTP,下載產(chǎn)品,如圖4所示。

      由圖3、圖4可知,用戶提出請(qǐng)求,系統(tǒng)后臺(tái)服務(wù)采用此方法進(jìn)行處理,最終解決內(nèi)外網(wǎng)問題,無論是內(nèi)網(wǎng)用戶還是外網(wǎng)用戶,都能正常鏈接到FTP,下載產(chǎn)品。

      3 結(jié) 語

      基于WCF技術(shù)判別訪問服務(wù)器的方法,既解決了客戶端和服務(wù)端的通信問題以及內(nèi)外網(wǎng)用戶區(qū)分的問題,使內(nèi)外網(wǎng)用戶均能正常訪問FTP服務(wù)器,又沒有增加額外的開銷,實(shí)用可行。判斷用戶IP是否屬于內(nèi)網(wǎng)以及FTP下載地址的轉(zhuǎn)換都是在后臺(tái)服務(wù)中進(jìn)行的,用戶只需點(diǎn)擊網(wǎng)頁鏈接即可通過FTP下載數(shù)據(jù),操作界面友好,符合用戶需求。應(yīng)用WCF技術(shù),可跨越內(nèi)外網(wǎng)進(jìn)行通信,適用于多種宿主程序,可跨平臺(tái),與已有系統(tǒng)兼容協(xié)作。由于上述優(yōu)勢(shì),此方法亦適用于服務(wù)器采用雙網(wǎng)卡情況以及其他獲取服務(wù)器內(nèi)外網(wǎng)IP地址的情況。

      圖4 應(yīng)用WCF技術(shù)后鏈接到FTP的下載界面

      參考文獻(xiàn):

      [1] 森林.實(shí)戰(zhàn)Web服務(wù)器內(nèi)外網(wǎng)訪問難題[J].個(gè)人電腦,2010(11):98-99.

      [2] 鄢萍,易潤(rùn)忠,童亮.基于DDNS和NAT的服務(wù)器內(nèi)外網(wǎng)動(dòng)態(tài)映射[J].計(jì)算機(jī)工程,2008,34(20):136-137.

      [3] 廖龍俊.怎樣實(shí)現(xiàn)內(nèi)外網(wǎng)同時(shí)訪問[J].電腦編程技巧與維護(hù),2012(7):91-92.

      [4] 陳靜,宋偉,汪凱.通過NAT進(jìn)行雙向訪問的方法:中國,CN1561061 [P].2004-02-27.

      [5] 謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)[M].北京: 電子工業(yè)出版社, 2007.

      [6] Michele Leroux Bustamante.Learning WCF [M].Beijing: O'Reilly Media, 2007.

      [7] Richard W.WCF: A Case Study Involving a Distributed Client/Server Game[J].Journal of Object Technology, 2009, 8(2):71-90.

      猜你喜歡
      內(nèi)網(wǎng)配置文件IP地址
      提示用戶配置文件錯(cuò)誤 這樣解決
      鐵路遠(yuǎn)動(dòng)系統(tǒng)幾種組網(wǎng)方式IP地址的申請(qǐng)和設(shè)置
      搭建簡(jiǎn)單的Kubernetes集群
      互不干涉混用Chromium Edge
      忘記ESXi主機(jī)root密碼怎么辦
      基于SNMP的IP地址管理系統(tǒng)開發(fā)與應(yīng)用
      黑龍江電力(2017年1期)2017-05-17 04:25:16
      企業(yè)內(nèi)網(wǎng)中的數(shù)據(jù)隔離與交換技術(shù)探索
      科技資訊(2017年5期)2017-04-12 15:24:45
      地下車庫柱網(wǎng)布置設(shè)計(jì)思路
      山西建筑(2016年20期)2016-11-22 03:10:21
      QoS技術(shù)在企業(yè)內(nèi)網(wǎng)實(shí)踐探索
      科技資訊(2016年19期)2016-11-15 08:17:44
      通過QQ郵件查看好友IP地址
      南溪县| 托里县| 孝义市| 永川市| 丘北县| 钟祥市| 当阳市| 铜川市| 麻阳| 翼城县| 延庆县| 平乡县| 贵州省| 镇赉县| 乳源| 长岛县| 呈贡县| 那曲县| 阳城县| 确山县| 桐梓县| 三原县| 马尔康县| 泽库县| 丰原市| 凌海市| 松滋市| 蒙自县| 闽清县| 娄烦县| 扶风县| 上高县| 新余市| 巴南区| 平利县| 德化县| 池州市| 乌拉特后旗| 上杭县| 湘乡市| 新昌县|