999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

TCPIP路由穿透方案設計

2011-12-31 00:00:00許西文
中國管理信息化 2011年17期

摘要:分析Sever/Client方式在實際應用中的重要的作用,使其在p2p發展迅速的網絡應用中依然有一席之地;通過服務器以多線程管理客戶端通信的方式穩定,高效,并且提供了單一或者多方備份與加密的可行性方案;Sever/Client穿透防火墻,路由的方式適用面廣,信息傳遞準確性高,提高了連接效率和安全性.

關鍵詞:Sever/Client;P2P;TCP;UDP;穿透;多線程

前言

隨著P2P與NAT技術的日益發展與成熟,P2P網絡在應用領域獲得了巨大的成功,然而傳統的Sever/Client的互聯方式依然有著重要的實際應用作用――企業的遠程財務管理,企業的可調控視頻會議,學校課程預約,手機短信息定向發送等等方面的工作從應用角度考慮更合適Sever/Client方式互聯.

Sever/Client網絡應用程序的設計都需要考慮路由穿透的問題,而基于UDP,TCP兩種通訊都可以完成穿透工作,本文重點討論TCP/IP穿透路由的技術方案.

一.概述

對于目標用戶來說,管理服務總是可見的,它有一個固定的公網IP,目標用戶可以通過

手動”登陸”或者后臺工作等方式主動訪問管理服務器,建立一個TCP/IP連接.利用這種方式目標用戶可以在自己的終端 — 計算機,手機等等客戶端繞過防火墻,穿過路由器與管理服務器建立一條穩定可靠的”通道”,只至有一方動取消連接為止.

利用這些”通道”,管理服務器可以記錄并管理這些目標用戶的網絡地址,并把即時消息,服務器指令,目標用戶之間的通訊消息,目標用戶的網絡地址發給所有或者指定的目標用戶,從而實現目標用戶與管理服務器之這間的防火墻,路由穿透,目標用戶之間的防火墻,路由目標穿透,達到無障礙阻通訊的目的.

二.目標用戶客戶端的設計

目標用戶客戶端的設計總方向為簡化數據管理,加強數據處理,豐富人機交互.

C++,VC++中已經封裝好的套接字CAsyncSocket, CSOCKET對于網絡通訊編程來說,使用簡單,然而效率和控制卻不及原始套接字SOCKET.下面就以SOCKET為例說明客戶端的設計方案。

對于套接字的阻塞通信方式,客戶端可以啟動一個線程來完成對服務器端口的監聽接收和發送工作,在VC++中可以封裝為一個網絡收發線程類來使用,這樣做可以保證網絡數據的安全與正確,同時還兼顧到數據的實時性,方便擴展。

網絡線程類主要工作分為四個部分:

1.將各模塊對服務器請求指令打包處理

主要將請求內容封裝為網絡數據,即在TCP/IP數據包的基礎上對數據進行二次封裝,便于程序處理。分為包頭,包內容,包結束。包頭一般包括長度,日期,類型等內容;包內容則是請求數據;包結束通常包含數據包的結束標志,或者數據是否分包發送,此為第幾包等等內容。

2.發送對服務器的請求

將封裝好的數據包根據類型,調用不同函數發送至服務器——根據程序內容也可以

調用同一函數發送。

3.監聽接收服務器數據

采用阻塞式通信套接字,線程監聽與服務器通信的端口,實時接收數據內容。

4.將接收到服務器的數據分類發送至處理模塊

根據數據包的類型,將數據包內容分門別類,取出數據包內容后通過消息機制發送給不同的數據處理模塊進行工作。

目標用戶客戶端之間通訊時可以采用服務轉發與直接通訊兩種方式,前者更加方便實現管理記錄功能但加重了管理服務器的工作負擔;后者效率更高卻比較難以管理記錄,各有長短,設計者可以根據具體情況進行設計.

在目標客戶端之間進行直接連接時,可以使用UDP連接,然而由于網關會動態改變UDP的端口映射,即使采用心跳數據包的方式也并不穩定,所以這種方案并不理想.

使用TCP連接由管理服務器中轉發雙方的IP地址,采用管理服務器偽造數據報,實現目標用戶雙手三次握手并連接的等方法.

三.管理服務器的設計

管理服務器的設計設計思路為采用多線程點對點方式強化數據管理。具體思路為創建一個管理線程,此線程的主要工作如下:

1.監聽與客戶端的通訊端口

創建一個線程,在指定的通訊端口上監聽連接,判斷連接是否是的目標客戶端進行連接,就可以得到一個針對此目標客戶端的套接字,并分配與之對應的ID。

2.創建通訊子線程

管理線程創建一個面向該用戶的阻塞式通訊子線程,并向這個子線程分配ID與相應的通訊套接字,這個子線程就可以負責起與用戶進行發接與收接網絡數據的工作,達到實時準確地與目標客戶進行接收發送數據的目的.

3.實時管理通訊子線程組

利用分配ID的方式進行記錄和管理,輕松實現數據組發,定向發送,定向記錄等等的管理功能。

4.結束通訊子線程,釋放資源

一旦目標用戶的連接中斷,可以馬上進行其對應子線程,套接字的銷毀,釋放管理服務器的資源。同時通過時間設置和中斷個數重新管理ID計數,保證管理服務器的正常安全運行。

而通訊子線程的工作內容與客戶端通訊線程工作內容類似,主要負責

#61548;將各模塊對客戶端指令打包處理

#61548;發送對客戶端的指令

#61548;監聽接收客戶端請求

#61548;將接收到客戶端請求的數據分類發送至處理模塊

線程之間的同步與管理已經有了大量的成熟的方法,可以避免目標用戶對同一內存同時修改的問題.

四.總結

1.目標實驗程序已經在WindowXP和Window2000環境下全部運行通過.

2.由于管理服務器的多線程設計,使用各目標用戶,各程序模塊調度自如,進一步實現的防火墻,路由的穿透目的.

3.原始套接字的使用對于程序的管理,移植有著重要的意義.

3.采用基于TCP/IP協議的編程方法,有效的保證了數據傳輸的可靠性.

參考文獻

李倩,陳志剛,《P2P網絡中TCP穿透NAT的解決方案》,

Tim Boyles,Dave Hucaby.Switching[M]. Cisoo Press,2000.

Andrew S Tanebaum, 計算機網絡(第3版)[M]. 北京:清華大學出版社,1998

主站蜘蛛池模板: 精品国产aⅴ一区二区三区| 波多野结衣中文字幕一区| 免费无码AV片在线观看中文| 97在线观看视频免费| 99久久精品无码专区免费| 亚洲色无码专线精品观看| 久久免费观看视频| 99热免费在线| 日本一区二区不卡视频| 午夜视频www| 国产AV无码专区亚洲A∨毛片| 婷婷综合亚洲| 免费观看无遮挡www的小视频| 一本无码在线观看| 99中文字幕亚洲一区二区| 美女国产在线| 呦女亚洲一区精品| 亚洲精品无码久久久久苍井空| 99精品国产电影| 欧美亚洲香蕉| 57pao国产成视频免费播放| 国产精品久久久久久久久kt| 最新国产精品第1页| 免费无码AV片在线观看中文| 成人va亚洲va欧美天堂| 日本不卡在线播放| 亚洲天堂网在线视频| 99视频有精品视频免费观看| 国产毛片不卡| 久久国产av麻豆| 成人午夜亚洲影视在线观看| 亚洲黄网在线| 日本国产精品一区久久久| 国产浮力第一页永久地址| 日韩在线视频网| 色网站在线免费观看| 人妻夜夜爽天天爽| 亚洲日韩日本中文在线| 性激烈欧美三级在线播放| 国产精品无码AⅤ在线观看播放| 亚洲一级毛片免费看| 欧美日韩国产精品综合| 在线观看免费国产| 久久人与动人物A级毛片| 麻豆精品视频在线原创| 午夜在线不卡| 一本久道热中字伊人| 狼友视频一区二区三区| 国产美女一级毛片| 久夜色精品国产噜噜| 色悠久久综合| 亚洲熟女中文字幕男人总站| 91色综合综合热五月激情| 亚洲欧美在线综合图区| 在线看片中文字幕| 婷婷开心中文字幕| 亚洲最大看欧美片网站地址| 亚洲区第一页| 欧美色伊人| 亚洲一区二区三区在线视频| 青青国产视频| 国产自在线播放| 成人在线观看不卡| 国产理论精品| 67194成是人免费无码| 中文字幕亚洲第一| 日韩最新中文字幕| 99精品在线看| 夜夜操天天摸| 四虎永久在线| 国产人前露出系列视频| 亚洲精选无码久久久| 亚洲无码熟妇人妻AV在线| av午夜福利一片免费看| 亚洲国产高清精品线久久| 欧美国产日韩在线观看| 国产精品免费福利久久播放| 国产精品专区第一页在线观看| 久久国产拍爱| 亚洲福利视频一区二区| 男女男精品视频| 在线观看视频99|