【正文】
....................................... 1 本課題的研究方法 .............................................................................................. 1 2 理論基礎(chǔ) ................................................................................................................... 2 代理服務(wù)器 ........................................................................................................ 2 目前的代理服務(wù)技術(shù) .......................................................................................... 3 SOCKET 面向連接的編程模型 ............................................................................. 4 WINSOCK庫(kù) ........................................................................................................ 5 winsock 的尋址方式 ..................................................................................... 5 字節(jié)順序 ..................................................................................................... 6 系統(tǒng)基本套接字調(diào)用 .......................................................................................... 6 創(chuàng)建和關(guān)閉套接字- socket()和 closesocket() ................................................. 6 指定本地地址- bind().................................................................................. 6 設(shè)置監(jiān)聽(tīng)狀態(tài) listen()................................................................................... 6 建立套接字連接- connect()和 accept() .......................................................... 6 收發(fā)數(shù)據(jù) send()和 recv() .............................................................................. 7 3 設(shè) 計(jì)方案 ................................................................................................................... 7 基本函數(shù)設(shè)計(jì) ..................................................................................................... 7 多線程流程 ........................................................................................................ 8 4 服務(wù)器的實(shí)現(xiàn) ............................................................................................................ 8 環(huán)境創(chuàng)建 ............................................................................................................ 8 功能實(shí)現(xiàn) ............................................................................................................ 9 數(shù)據(jù)變量定義 .............................................................................................. 9 啟動(dòng)代理服務(wù)器 ........................................................................................ 10 請(qǐng)求處理過(guò)程 ............................................................................................ 11 請(qǐng)求響應(yīng) ................................................................................................... 13 關(guān)閉服務(wù)器 ............................................................................................... 15 控制主函數(shù) ............................................................................................... 15 5 測(cè)試結(jié)果 ................................................................................................................. 15 結(jié) 論 ........................................................................................................................ 17 參考文獻(xiàn) ........................................................................................................................ 18 致 謝 ........................................................................................................................ 19 聲 明 ........................................................................................................................ 20 第 1 頁(yè) 共 20頁(yè) 1 引言 課題背景 普通的因特網(wǎng)訪問(wèn)是一 種典型的客戶機(jī)與服務(wù)器結(jié)構(gòu),而代理服務(wù)器將運(yùn)行于客戶機(jī)與服務(wù)器之間,它作為 Inter/Intra 上常用的一種服務(wù)器,通常配置在 Intra 連接 Inter 的出口處,主要實(shí)現(xiàn)代理傳輸服務(wù)。此代理系統(tǒng)具有簡(jiǎn)單,易用,網(wǎng)絡(luò)化等優(yōu)點(diǎn),能夠完成一般的 HTTP 訪問(wèn)代理服務(wù) 。本論文講述的是關(guān)于一個(gè)簡(jiǎn)單的代理服務(wù)器的實(shí)現(xiàn),在實(shí)現(xiàn)中采用客戶機(jī) /服務(wù)器結(jié)構(gòu)模型開發(fā)應(yīng) 用程序,基于一般的訪問(wèn)瀏覽速度慢、效率底、安全功能不強(qiáng)等原因,將以簡(jiǎn)單、合理、有效為原則;為了方便分析和設(shè)計(jì),系統(tǒng)設(shè)計(jì)中設(shè)置不同的狀態(tài)量用于標(biāo)識(shí)客戶機(jī)、代理服務(wù)器及服務(wù)器間的聯(lián)結(jié)狀態(tài)。 畢業(yè)設(shè)計(jì) ( 論文 ) 簡(jiǎn)易代理服務(wù)器的設(shè)計(jì) 論文作者姓名: 申請(qǐng)學(xué)位專業(yè): 申請(qǐng)學(xué)位類別: 指導(dǎo)教師姓名(職稱): 論文提交日期: 簡(jiǎn)易代理服務(wù)器的設(shè)計(jì) 摘 要 代理服務(wù)器是介于瀏覽器和 Web 服務(wù)器之間的一臺(tái)服務(wù)器,它的功能 是代理網(wǎng)絡(luò)用戶去取得網(wǎng)絡(luò)信息。它的工作原理是,接收客戶機(jī)的數(shù)據(jù)連接請(qǐng)求,并將請(qǐng)求傳給 Web 服務(wù)器;再?gòu)?Web 服務(wù)器接收返回的數(shù)據(jù),最后把數(shù)據(jù)傳給客戶端顯示。在保證系統(tǒng)基本功能的同時(shí),使用多線程機(jī)制使得代理系統(tǒng)有更好的延續(xù)性。 關(guān)鍵詞 : 客戶機(jī) /服務(wù)器結(jié)構(gòu);多線程; 套接字 ;代理服務(wù)器 The Design of Simple Proxy Server Abstract The proxy server is a server which situates between the browser and a Web server. It’s principle of work is, it receives the connection request from the client, and hands down the requested to the Web server, then receives data which is returned from the Web server., finally hands it down the data to the client. In the realization, it adopts Client/Server structural model to develop application. Because of browse speed slow, low efficient and not safe enough, it takes simple, reasonable and effective as the principle. In the system design, it sets different states to identify client, proxy server and the connective state between servers. When the system39??梢赃@樣認(rèn)為,代理是雙向的。正是由于代理服務(wù)器的這種控制方式,可以使用它提高客戶訪問(wèn)外網(wǎng)的效率、節(jié)省網(wǎng)絡(luò)帶寬,增強(qiáng)網(wǎng)絡(luò)安全性以及減少網(wǎng)絡(luò)投資等。不難看出,代理服務(wù)器在我們信息時(shí)代的生活中扮演著越來(lái)越重要的作用。它可用于多個(gè)目的,最基本的功能是連接 ; 此外還包括安全性、緩存、內(nèi)容過(guò)濾、訪問(wèn)控制管理等功能。絕大多數(shù)企業(yè)、部門在使用 代理 服務(wù)器的時(shí)候,都會(huì)考慮這個(gè)問(wèn)題,把它作為選購(gòu) 代理 服務(wù)器產(chǎn)品的重要依據(jù)。而且 從保證安全性的角度出發(fā), 我們也 很有 必要開發(fā)一個(gè)自己的 代理 服務(wù)器。另外,我們也能從中學(xué)習(xí)到正確的程序開發(fā)流程,積累程序開發(fā)經(jīng)驗(yàn),為以后更深課題的研究打好基礎(chǔ)。由于需要服務(wù)器為其他許多稱為客戶的主機(jī)提供服務(wù),而客戶主機(jī)又可以隨時(shí)打開和關(guān)閉,在選擇網(wǎng)絡(luò)應(yīng)用程序體系結(jié)構(gòu)時(shí)就 采用支持這些特點(diǎn)的客戶機(jī) /服務(wù)器結(jié)構(gòu)。為了便于直接使用 Windows 提供的網(wǎng)絡(luò)編程接口,我們 使用 Microsoft Visual C++ 作為開發(fā)工具 ,利用 MFC 類庫(kù)中提供的兩個(gè) Socket 類 第 2 頁(yè) 共 20頁(yè) CAsyncSocket 和 Csocket。 2 理論基礎(chǔ) 代理服務(wù)器 代理服務(wù)器 的 英文全稱是 Proxy Server,其功能就是代理網(wǎng)絡(luò)用戶去取得網(wǎng)絡(luò)信息。 很多人不知不覺(jué)中 就在用代理服務(wù)器共享上網(wǎng),比如 sygate,wingate,isa,ccproxy,NT 系統(tǒng)自帶的網(wǎng)絡(luò)共享等,它們可以提供企業(yè)級(jí) 的文件緩存,復(fù)制和地址過(guò)濾等服務(wù)。代理服務(wù)器是介于瀏覽器和 Web 服務(wù)器之間的一臺(tái)服務(wù)器,有了它之后,瀏覽器不是直接到 Web 服務(wù)器去取回網(wǎng)頁(yè)而是向代理服務(wù)器發(fā)出請(qǐng)求, Request 信號(hào)會(huì)先送到代理服務(wù)器,由代理服務(wù)器來(lái)取回瀏覽器所需要的信息并傳送給你的瀏覽器。 更重要的是: Proxy Server (代理服務(wù)器 )是 Inter鏈路級(jí)網(wǎng)關(guān)所提供的一種重要的安全功能,它的工作主要在開放系統(tǒng)互聯(lián) (OSI)模型的對(duì)話層。 節(jié)省 IP開銷:前面所講,所有用戶對(duì)外只占用一個(gè) IP,所以不必租用過(guò)多的 IP 地址,降低網(wǎng)絡(luò)的維護(hù)成本。當(dāng)然也有它不利的一面,如許多網(wǎng)絡(luò)黑客通