freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)-簡(jiǎn)易代理服務(wù)器的設(shè)計(jì)—論文-文庫(kù)吧資料

2024-12-09 17:42本頁(yè)面
  

【正文】 R) { printf(\nError Receive)。 retval=recv(,Buffer,sizeof(Buffer),0)。 =TRUE。 如果此客戶端到代理服務(wù)器的連接正確,我們就在這一 socket 連接上使用revc 函數(shù)接收數(shù)據(jù)。 AfxBeginThread(ClientToProxy,pParam)。fromlen)。 msg_socket=accept(listen_socket,(struct sockaddr*)amp。 請(qǐng)求處理過(guò)程 在這一步設(shè)計(jì)函數(shù) ClientToProxy 來(lái)處理收到客戶請(qǐng)求,并將請(qǐng)求合理傳送至 Server(客戶請(qǐng)求的數(shù)據(jù)服務(wù)器 )。 return 3。local,sizeof(local))!=0) { printf(\n Error in Binding socket.)。 再用 listen_socket=socket(AF_INET,SOCK_STREAM,0)語(yǔ)句 打開(kāi) socket 描述符 。 =htons(port)。 =INADDR_ANY。 =AF_INET。 sockaddr_in local。 } 之后,創(chuàng)建一個(gè)代理服務(wù)器( Proxy)用于網(wǎng)絡(luò)通信的套接字 listen_socket。 WSACleanup()。 if(::WSAStartup(0x202,amp。 第 10 頁(yè) 共 20頁(yè) 啟動(dòng)代理服務(wù)器 這里,在運(yùn)用套接字編程中由于 Winsock在被調(diào)用時(shí)是動(dòng)態(tài)鏈接庫(kù) Winsock DLL 形式實(shí)現(xiàn)的,首先需調(diào)用 WSAStartup()函數(shù)對(duì) Winsock DLL 進(jìn)行初始化,它的第一個(gè)參數(shù)指定要加載的 Winsock 庫(kù)的版本,高字節(jié)為次版本號(hào),低字節(jié)為主版本號(hào);第二個(gè)參數(shù)是用來(lái)返回 DLL 庫(kù)的詳細(xì)信息,是指向 WSADATA 結(jié)構(gòu)的指針。 圖 4 Library files設(shè)置 功 能實(shí)現(xiàn) 數(shù)據(jù)變量定義 定義代表 協(xié)議 的 變量 HTTP, 定義緩 沖區(qū)大小變量MAXBUFFERSIZE。剛開(kāi)始時(shí)運(yùn)行 VC++ 開(kāi)發(fā)工具,單擊菜單“ Tools/Options...” ,彈出 Options對(duì)話框,選擇 Directories 選項(xiàng)卡,首先在 “ Show directories for:” 下拉菜單中選擇 Include files,將 SDK 中頭文件的目錄添 加到:“ Directories:”列 表中,如圖 3 所示: 第 9 頁(yè) 共 20頁(yè) 圖 3 Include files設(shè)置 然后在 “ Show directories for:” 下拉菜單中選擇 Library files,進(jìn)行同樣的設(shè)置,如圖 4 所示。因此,對(duì)于每一個(gè)請(qǐng)求,我們將用一個(gè)線程處理數(shù)據(jù)的接收和發(fā)送,同時(shí)在數(shù)據(jù)到達(dá)代理服務(wù)器時(shí),盡可能快速地把它轉(zhuǎn)發(fā)出去 。例如,如果要在數(shù)據(jù)進(jìn)入的時(shí)候進(jìn)行過(guò)濾,這些數(shù)據(jù)最好按行讀?。蝗欢?,大多數(shù)時(shí)候,當(dāng)數(shù)據(jù)到達(dá)代理服務(wù)器時(shí),立即把它轉(zhuǎn)發(fā)出去更適合高效這一要求。實(shí)際上,這里主要有兩個(gè)問(wèn)題要考慮:第一,從 Socket 按行讀取數(shù)據(jù)最適合進(jìn)一步處理,但這會(huì)產(chǎn)生性能瓶頸;第二,兩個(gè) Socket 之間的連接必需高效。 多線程流程 由于 代理服務(wù)器 和大多數(shù)服務(wù)器一樣,如果要處理多個(gè)請(qǐng)求,它應(yīng)該使用多線程。如果用戶輸入一個(gè)數(shù),而且指定使用這一端口號(hào),則應(yīng)用程序必須在使用它建立地址以前,把它從主機(jī)順序轉(zhuǎn)換網(wǎng)絡(luò)順序(使用 htons()函數(shù))。 另外,任何 Windows Socket函數(shù)對(duì) IP地址和端口號(hào)的引用和傳送給 Windows Sockets 函數(shù)的 IP 地址和端 口號(hào)均是按照網(wǎng)絡(luò)順序組織的,這也包括了sockaddr_in 結(jié)構(gòu)這一數(shù)據(jù)類型中的 IP 地址域和端口域 (但不包括 sin_family域 )。在處理數(shù)據(jù)請(qǐng)求的過(guò)程中,我們必須知道 Server 的地址,這是非常重要的。其中, ClientToProxy 用于實(shí)現(xiàn) 收取 Client 數(shù)據(jù)請(qǐng)求并 傳給Server。 Flags 參數(shù)在這兩函數(shù)中通常設(shè)為 0。 Send 函數(shù)在一個(gè)連接的套接字上發(fā)送緩沖區(qū)內(nèi)的數(shù)據(jù),返回發(fā)送數(shù)據(jù)的實(shí)際字節(jié)數(shù)。之后,服務(wù)端就會(huì)調(diào)用 accept(),而在 調(diào) 用 accept ()的參數(shù)前應(yīng)該先調(diào)用過(guò) listen(),Accept 函數(shù)定義如下: SOCKET accept(SOCKET soc, struct sockaddr * addr, int * addrlen)。在同一時(shí)間處理多個(gè)連接請(qǐng)求的服務(wù)器通常使用 listen 函數(shù),如果一個(gè)連接請(qǐng)求到達(dá)并且排隊(duì)也滿,客戶端將接收錯(cuò)誤。 Listen 函數(shù) 僅應(yīng)用在支持連接的套接字上,如 SOCK_STREAM 類型。 設(shè)置監(jiān)聽(tīng)狀態(tài) listen() Listen 函數(shù)設(shè)置套接字進(jìn)入監(jiān)聽(tīng)狀態(tài)。注意:地址在建立套接字通 信過(guò)程中起著重要作用, 程序使用中通??刻畛鋝ockaddr_in 結(jié)構(gòu)來(lái)綁定套接字到本地地址。 當(dāng)然,客戶端程序也可以在不顯示綁定地址和端口號(hào)的情況下發(fā)送數(shù)據(jù)或者連接。它用在沒(méi)有建立連接的套接字上, 如果沒(méi)有錯(cuò)誤發(fā)生, bind()返回 0。 指定本地地址- bind() 當(dāng)一個(gè)套接字用 socket()創(chuàng)建后,存在一個(gè)名字空間 (地址族 ),但它沒(méi)有被命名。 系統(tǒng)基本套接字調(diào)用 創(chuàng)建和關(guān)閉套接字- socket()和 closesocket() 應(yīng)用程序在使用套接字前,首先必須擁有一個(gè)套接字,系統(tǒng)調(diào)用 socket()向應(yīng)用程序提供創(chuàng)建套接字的手段 ,如果成功將返回套接字句柄,如果創(chuàng)建失敗,返回 INVALID_SOCKET(即 1)。這 API 數(shù)據(jù)都是平臺(tái)無(wú)關(guān)的。 第 6 頁(yè) 共 20頁(yè) 字節(jié)順序 字節(jié)順序是長(zhǎng)度跨越多個(gè)字節(jié)的數(shù)據(jù)被存儲(chǔ)的順序,分為小尾順序和大尾順序, TCP/IP 統(tǒng)一規(guī)定使用大尾順序方式傳輸數(shù)據(jù),即網(wǎng)絡(luò)字節(jié)順序 ,它的字節(jié)順序是最重要的字節(jié)首先存儲(chǔ) 。 i_ntoa 函數(shù)將一個(gè)網(wǎng)絡(luò)字節(jié)順序的 32 位 IP 地址轉(zhuǎn)化字符串。 }。 struct in_addr sin_addr。定義如下: Struct sockaddr_in{ short sin_family。如果Winsock 強(qiáng)迫使 用特定的尋址方式,添加其他協(xié)議就不大可能了。 winsock 的尋址方式 因?yàn)?Winsock 要兼容多個(gè)協(xié)議,所以必須使用通用的尋址方式。如果沒(méi)有加載,將返回 SOCKET_ERROR,加載的函數(shù)是 WSAStartup,其定義如下: int WSAStartup(WORD wVersionRequested,LPWSADATA lpWSAData)。 Winsock庫(kù) Winsock 是 Windows 下網(wǎng)絡(luò)編程的標(biāo)準(zhǔn)接口,它允許兩個(gè)或多個(gè)應(yīng)用程序在相同機(jī)器上,或者是通過(guò)網(wǎng)絡(luò)相互交流。此時(shí)客戶端使用socket 函數(shù)創(chuàng)建的套接字,服務(wù)器端使用 accept 函數(shù)創(chuàng)建的套接字,雙方就可以通信了。 客戶端創(chuàng)建套接字后即可調(diào)用 connect 函數(shù)去試圖連接服務(wù)器監(jiān)聽(tīng)套接字。首先服務(wù)器端創(chuàng)建監(jiān)聽(tīng)套接字,并為它關(guān)聯(lián)一個(gè)本地地址(指定 IP地址和端口號(hào)),然后進(jìn)入監(jiān)聽(tīng)狀態(tài)準(zhǔn)備接收客戶端的連接請(qǐng)求。這時(shí),服務(wù)器程序被“喚醒”,并開(kāi)始響應(yīng)客戶機(jī)提出的連接請(qǐng)求。而當(dāng)需要確保數(shù)據(jù)準(zhǔn)確無(wú)誤地到達(dá)時(shí),則應(yīng)采用面向連接的傳輸方式。 例如有 軟件: WinRoute,Sygate。這樣,通過(guò)在內(nèi)部使用非注冊(cè)的 IP 地址,并將它們轉(zhuǎn)換為一小部 第 4 頁(yè) 共 20頁(yè) 分外部注冊(cè)的 IP 地址,從而減少了 IP 地址注冊(cè)的費(fèi)用。 NAT 方式也稱之為 Inter 的路由連接。例如有 軟件: Wingate, Winproxy 等。有了網(wǎng)絡(luò)地址轉(zhuǎn)換器,家庭網(wǎng)絡(luò)或小型的辦公網(wǎng)絡(luò)中的電腦就可以使用私有地址,并且通過(guò)網(wǎng)絡(luò)地址轉(zhuǎn)換器將私有地址轉(zhuǎn)換成 ISP 分配的單一的公用 IP 地址從而實(shí)現(xiàn)對(duì) Inter 的連接。 ICS 即 Inter 連接共享( Inter Connection Sharing)的英文簡(jiǎn)稱,是 Windows 系統(tǒng)針對(duì)家庭網(wǎng)絡(luò)或小型的 Intra 網(wǎng)絡(luò)提供的一種 Inter 連接共享服務(wù)。只有從數(shù)據(jù)中才能看到。 在內(nèi)網(wǎng)中,出現(xiàn)的 IP 數(shù)據(jù),全是內(nèi)網(wǎng)和代理服務(wù)器的IP。機(jī)器 和代理服務(wù)器通訊時(shí),目的 IP 是代理服務(wù)器的 IP。當(dāng)機(jī)器通過(guò)代理服務(wù)器上網(wǎng)時(shí)。 代理服務(wù)器有許多種,大體來(lái)說(shuō)有 HTTP,FTP,SOCKS 代理 三種,其中又分透明代理和不透明代理。而當(dāng)我們使用相應(yīng)協(xié)議的代理服務(wù)器后,就可以達(dá)到隱藏自己當(dāng)前所在地地址的目的了 。例如,大家在一些論壇上看到,論壇中明確標(biāo)出了發(fā)帖用戶目前所在地,這就是根據(jù)論壇會(huì)員登錄時(shí)的 IP 地址解析的。 第 3 頁(yè) 共 20頁(yè) 防止攻擊 : 隱藏自己的真實(shí)地址信息,還可隱藏自己的 IP,防止被黑客攻擊。 提高訪問(wèn)速度:本身帶寬較小,通過(guò)帶寬較大的 proxy 與目標(biāo)主機(jī)連接。這樣,局域局內(nèi)沒(méi)有與外網(wǎng)相連的眾多機(jī)器就可以通過(guò)內(nèi)網(wǎng)的一臺(tái)代理服務(wù)器連接到外網(wǎng),大大減少費(fèi)用。主要的功能有: 連接 Inter 與 Intra 充當(dāng)防火墻:因?yàn)樗袃?nèi)部網(wǎng)的用戶通過(guò)代理服務(wù)器訪問(wèn)外界時(shí),只映射為一個(gè) IP地址,所以外界不 能直接訪問(wèn)到內(nèi)部網(wǎng);同時(shí)可以設(shè)置 IP地址過(guò)濾,限制內(nèi)部網(wǎng)對(duì)外部的訪問(wèn)權(quán)限;另外,兩個(gè)沒(méi)有互聯(lián)的內(nèi)部網(wǎng),也可以通過(guò)第三方的代理服務(wù)器進(jìn)行互聯(lián)來(lái)交換信息。而且,大部分代理服務(wù)器都具有緩沖的功能,就好 像 一個(gè)大的 Cache,它有很大的存儲(chǔ)空間,它不斷將新 取得數(shù)據(jù)儲(chǔ)存到它本機(jī)的存儲(chǔ)器上,如果瀏覽器所請(qǐng)求的數(shù)據(jù)在它本機(jī)的存儲(chǔ)器上已經(jīng)存在而且是最新的,那么它就不重新從 Web服務(wù)器取數(shù)據(jù),而直接將存儲(chǔ)器上的數(shù)據(jù)傳送給用戶的瀏覽器,這樣就能顯著提高瀏覽速度和效率 。 在一般情況下,我們使用網(wǎng)絡(luò)瀏覽器直接去連接其他 Inter 站點(diǎn)取得網(wǎng)絡(luò)信息時(shí),須送出Request 信號(hào)來(lái)得到回答,然后對(duì)方再把信息以 bit 方式傳送回來(lái)。形象的說(shuō):它是網(wǎng)絡(luò)信息的中轉(zhuǎn)站。 使用 這兩個(gè) Socket 類 , 我們可以 運(yùn) 用面向?qū)ο蟮姆椒▉?lái)進(jìn)行 Socket 編程,而且它們還分別在較低和較高層次上封裝了 Windows Sockets API,為程序員開(kāi)發(fā) Socket 程序提供了便利。還將運(yùn)用 Windows 下網(wǎng)絡(luò)編程的標(biāo)準(zhǔn)接口 WinSock , 因?yàn)樗试S兩個(gè)或多個(gè)應(yīng)用程序在相同機(jī)器上,或者是通過(guò)網(wǎng)絡(luò)相互交流,它是真正協(xié)議無(wú)關(guān)的接口。 本課題的研究方法 此 代理 服務(wù)器 系統(tǒng) 將是 建立在 Windows NT 平臺(tái)上 的網(wǎng)絡(luò)應(yīng)用程序設(shè)計(jì)。 除了上面的因素外,通過(guò)一個(gè)簡(jiǎn)單的代理程序的開(kāi)發(fā),我們能從實(shí)現(xiàn)過(guò)程中學(xué)習(xí)到網(wǎng)絡(luò)通信和網(wǎng)絡(luò)編程的基礎(chǔ)知識(shí),加深理解和掌握我們所使用的開(kāi)發(fā)語(yǔ)言。目前市場(chǎng)上流行的 代理 服務(wù)器,像 Microsoft Proxy Server、 Netscape Proxy Server、 Win Gate 等 國(guó)外的產(chǎn)品, 功能和性能等方面都還不錯(cuò), 我們正好可以通過(guò)借鑒它們產(chǎn)品的優(yōu)點(diǎn) , 開(kāi)發(fā)一個(gè)具有自主產(chǎn)權(quán)的代理服務(wù)器產(chǎn)品。在 代理 服務(wù)器的眾多功能中,安全性是一個(gè)突出且敏感的功能。 本課題研究的意義 隨著 Inter 與 Intra 的飛速發(fā)展,作為連接 Inter 與 Intra的橋梁, 代理 服務(wù)器在實(shí)際應(yīng)用中發(fā)揮著極其重要的作用。代理服務(wù)器從提出到現(xiàn)在,不斷的經(jīng)歷著內(nèi)容 更進(jìn)和技術(shù)的革新,各種代理服務(wù)器產(chǎn)品更是層出不窮。即對(duì)于內(nèi)部網(wǎng)上的用戶來(lái)說(shuō),代理服務(wù)器可看作是一個(gè)外部網(wǎng)的代理;對(duì)于外部網(wǎng)絡(luò)來(lái)說(shuō),代理服務(wù)器可以看作一個(gè)要訪問(wèn)外部網(wǎng)的客戶。s basic function are guaranteed, it use the multithreading to enable the proxy server to have a better continuous feature. This proxy system has the merit such as simple, easy to use and so on, and it can plete the proxy of general HTTP visit. Key words: Client / Server architecture; Multithreading; Socket; Proxy Server 目 錄 論文總頁(yè)數(shù): 20頁(yè) 1 引言 .......................................................................................................................... 1 課題背景 ............................................................................................................ 1 本課題研究的意義 .......................................................
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1