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

正文內(nèi)容

畢業(yè)設(shè)計-簡易代理服務(wù)器的設(shè)計—論文(更新版)

2025-01-22 17:42上一頁面

下一頁面
  

【正文】 ocket_type = SOCK_STREAM。 printf(\n Received %d bytes,data[%s] from client\n,retval,Buffer)。 =TRUE。 這里 strstr 調(diào)用用于在 字符串 buf 中尋找 第一次出現(xiàn)的位置( 它 不會 比較結(jié)束符 NULL),將值賦給指針 p。 closesocket()。 =TRUE。 msg_socket=accept(listen_socket,(struct sockaddr*)amp。 再用 listen_socket=socket(AF_INET,SOCK_STREAM,0)語句 打開 socket 描述符 。 sockaddr_in local。 第 10 頁 共 20頁 啟動代理服務(wù)器 這里,在運用套接字編程中由于 Winsock在被調(diào)用時是動態(tài)鏈接庫 Winsock DLL 形式實現(xiàn)的,首先需調(diào)用 WSAStartup()函數(shù)對 Winsock DLL 進行初始化,它的第一個參數(shù)指定要加載的 Winsock 庫的版本,高字節(jié)為次版本號,低字節(jié)為主版本號;第二個參數(shù)是用來返回 DLL 庫的詳細信息,是指向 WSADATA 結(jié)構(gòu)的指針。例如,如果要在數(shù)據(jù)進入的時候進行過濾,這些數(shù)據(jù)最好按行讀取;然而,大多數(shù)時候,當(dāng)數(shù)據(jù)到達代理服務(wù)器時,立即把它轉(zhuǎn)發(fā)出去更適合高效這一要求。 另外,任何 Windows Socket函數(shù)對 IP地址和端口號的引用和傳送給 Windows Sockets 函數(shù)的 IP 地址和端 口號均是按照網(wǎng)絡(luò)順序組織的,這也包括了sockaddr_in 結(jié)構(gòu)這一數(shù)據(jù)類型中的 IP 地址域和端口域 (但不包括 sin_family域 )。 Send 函數(shù)在一個連接的套接字上發(fā)送緩沖區(qū)內(nèi)的數(shù)據(jù),返回發(fā)送數(shù)據(jù)的實際字節(jié)數(shù)。 設(shè)置監(jiān)聽狀態(tài) listen() Listen 函數(shù)設(shè)置套接字進入監(jiān)聽狀態(tài)。 指定本地地址- bind() 當(dāng)一個套接字用 socket()創(chuàng)建后,存在一個名字空間 (地址族 ),但它沒有被命名。 i_ntoa 函數(shù)將一個網(wǎng)絡(luò)字節(jié)順序的 32 位 IP 地址轉(zhuǎn)化字符串。如果Winsock 強迫使 用特定的尋址方式,添加其他協(xié)議就不大可能了。此時客戶端使用socket 函數(shù)創(chuàng)建的套接字,服務(wù)器端使用 accept 函數(shù)創(chuàng)建的套接字,雙方就可以通信了。而當(dāng)需要確保數(shù)據(jù)準確無誤地到達時,則應(yīng)采用面向連接的傳輸方式。例如有 軟件: Wingate, Winproxy 等。 在內(nèi)網(wǎng)中,出現(xiàn)的 IP 數(shù)據(jù),全是內(nèi)網(wǎng)和代理服務(wù)器的IP。而當(dāng)我們使用相應(yīng)協(xié)議的代理服務(wù)器后,就可以達到隱藏自己當(dāng)前所在地地址的目的了 。這樣,局域局內(nèi)沒有與外網(wǎng)相連的眾多機器就可以通過內(nèi)網(wǎng)的一臺代理服務(wù)器連接到外網(wǎng),大大減少費用。形象的說:它是網(wǎng)絡(luò)信息的中轉(zhuǎn)站。 除了上面的因素外,通過一個簡單的代理程序的開發(fā),我們能從實現(xiàn)過程中學(xué)習(xí)到網(wǎng)絡(luò)通信和網(wǎng)絡(luò)編程的基礎(chǔ)知識,加深理解和掌握我們所使用的開發(fā)語言。代理服務(wù)器從提出到現(xiàn)在,不斷的經(jīng)歷著內(nèi)容 更進和技術(shù)的革新,各種代理服務(wù)器產(chǎn)品更是層出不窮。本論文講述的是關(guān)于一個簡單的代理服務(wù)器的實現(xiàn),在實現(xiàn)中采用客戶機 /服務(wù)器結(jié)構(gòu)模型開發(fā)應(yīng) 用程序,基于一般的訪問瀏覽速度慢、效率底、安全功能不強等原因,將以簡單、合理、有效為原則;為了方便分析和設(shè)計,系統(tǒng)設(shè)計中設(shè)置不同的狀態(tài)量用于標識客戶機、代理服務(wù)器及服務(wù)器間的聯(lián)結(jié)狀態(tài)。 關(guān)鍵詞 : 客戶機 /服務(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。它可用于多個目的,最基本的功能是連接 ; 此外還包括安全性、緩存、內(nèi)容過濾、訪問控制管理等功能。由于需要服務(wù)器為其他許多稱為客戶的主機提供服務(wù),而客戶主機又可以隨時打開和關(guān)閉,在選擇網(wǎng)絡(luò)應(yīng)用程序體系結(jié)構(gòu)時就 采用支持這些特點的客戶機 /服務(wù)器結(jié)構(gòu)。代理服務(wù)器是介于瀏覽器和 Web 服務(wù)器之間的一臺服務(wù)器,有了它之后,瀏覽器不是直接到 Web 服務(wù)器去取回網(wǎng)頁而是向代理服務(wù)器發(fā)出請求, Request 信號會先送到代理服務(wù)器,由代理服務(wù)器來取回瀏覽器所需要的信息并傳送給你的瀏覽器。而且 通常代理服務(wù)器都設(shè)置一個較大的硬盤緩沖區(qū),當(dāng)有外界的信息通過時,同時也將其保存到緩沖區(qū)中,當(dāng)其他用戶再訪問相同的信息時,則直接由緩沖區(qū)中取出信息,傳給用戶,從而達到提高訪問速度的目 的 。其中透明代理一般是網(wǎng)關(guān),是硬件 ,所以不討論透明代理。 目前的代理服務(wù)技術(shù) 代理服務(wù)技術(shù)是在一臺 PC 機上安裝一套代理軟件,主要用于用戶對Inter 資源的訪問。網(wǎng)絡(luò)地址轉(zhuǎn)換 NAT 通過將專用內(nèi)部地址轉(zhuǎn)換為公共外部地址,對外隱藏了內(nèi)部管理的 IP 地址。這時雙方協(xié)商數(shù)據(jù)由誰來接收和由誰來發(fā)送,在數(shù)據(jù)傳輸完畢時,雙方再分別關(guān)閉連接,釋放因創(chuàng)建套接字而占用的資源,面向連接的編程模型示意圖如下: 圖 1面向連接的編程模型 服務(wù)器方 客戶方Soket () , 建立流式套接字 , 返回套字句柄 li s ten _ s o c k e t .Bin d () , 關(guān)聯(lián)一個本地地址到套接字 li s ten _ s o c k e t .List e n () , 設(shè)置 b a c k log 值 , 進入監(jiān)聽狀態(tài) .Ac c p e t () , 等待接受客戶連接請求 .建立連接 , accept 函數(shù)返回 , 得到新的套接字 , 如 msg _ s o c k e t .Recv ()/ Send () , 在新套接字上收發(fā)數(shù)據(jù) , 直到完成交換Clo s e s o c k e t () , 關(guān)閉新的套接字 .Clo s e s o c k e t () , 關(guān)閉監(jiān)聽套接字 ,服務(wù)結(jié)束 .Socket () , 建立流式套接字 .Conn ect () , 將套接字與服務(wù)器連接 .Recv ()/ s e n d () , 在套接字上收發(fā)數(shù)據(jù) , 直到數(shù)據(jù)完成交換 .Clo s e s o c k e t () , 關(guān)閉此套接字 , 結(jié)束 TCP 對話 . 第 5 頁 共 20頁 上面的示意圖向我們顯示了面向連接的服務(wù)器程序和客戶程序的創(chuàng)建與結(jié)束過程。 Winsock庫的裝 入時是對 Winsock DLL版本的進行選擇 ,每個 Winsock應(yīng)用程序 都 必須加載 與之 相應(yīng)的版本的 Winsock DLL。 u_short sin_port。 Winsock 提供了一些函數(shù)來處理本地機器的字節(jié)順序和網(wǎng)絡(luò)字節(jié)順序的轉(zhuǎn)換, htons 將主機字節(jié)順序轉(zhuǎn)化到 TCP/IP 網(wǎng)絡(luò)字節(jié)順序, ntohs 將 網(wǎng)絡(luò)字節(jié)順序轉(zhuǎn)化到主機字節(jié)順序,此外還有 htonl 和 ntohl。否則返回值 SOCKET_ERROR。函數(shù)執(zhí)行成功后,套接字 將 進入被 動模式,到來的連接會通知要排隊 并 等候接受處理。 3 設(shè)計方案 基本函數(shù)設(shè)計 我們根據(jù)上面討論的代理服務(wù)器內(nèi)容容易畫出代理服務(wù)器的簡單流程模型: 圖 2 代理服務(wù)器的流程 從圖中看出,我們需要設(shè)計的基本 功能函數(shù)為 ClientToProxy 和ProxyToServer。相應(yīng)地,應(yīng)用C lien t P ro x y Se rv e r數(shù)據(jù)請求 轉(zhuǎn)發(fā)請求返回請求數(shù)據(jù) 回應(yīng)數(shù)據(jù)C lien tT o P ro x yP ro x y T o S e rv e r 第 8 頁 共 20頁 程序希望顯示包 含于某一地址中的端口號,這一端口號就必須在被顯示前從網(wǎng)絡(luò)順序轉(zhuǎn)換到主機順序( ntohs)。 4 服務(wù)器的實現(xiàn) 環(huán)境創(chuàng)建 設(shè)計使用 Visual C++ 作為編程工具,采用 Windows XP 系統(tǒng)平臺。wsaData)!=0) { printf(\nError in Startup session.\n)。 地址家族用于指定地址格式。 WSACleanup()。 此處 接收客戶端的連接請求 ,返回客戶端的地址和端口。 如果從套接字接收數(shù)據(jù)失敗,用下面代碼給出提示,同時關(guān)閉 socket 句柄,設(shè)置客戶端到服務(wù)器的狀態(tài)為關(guān)閉。為此,需要解析出 Server的地址, 創(chuàng)建函 數(shù) ReceiveInformation 來 實現(xiàn)此 功能, 即聲明 int ReceiveInformation( char * str, char *address, int * port),其中將實現(xiàn): char buf[MAXBUFFERSIZE], mand[512], proto[128]。這個功能將在下面實現(xiàn)。 retval=recv(,Buffer,sizeof(Buffer),0)。 Str_ProParam * pPar=(Str_ProParam*)pParam; char *server_name= localhost。最后,進行一下不成功的處理: if (hp == NULL ) { fprintf(stderr,Client:Cannot resolve address [%s]: Error %d\n,server_name,WSAGetLastError())。 = hph_addrtype。 if (retval == SOCKET_ERROR ) { fprintf(stderr,recv() failed: error %d\n,WSAGetLastError())。 break。 第 15 頁 共 20頁 printf(Received %d bytes, data [%s] from server\n,retval,Buffer)。 cinport。結(jié)果如下: 第 16 頁 共 20頁 圖 5 程序編譯運行結(jié)果 在“ Port”處填下端口號,我設(shè)定為 2021,當(dāng)然你可能取任意值 ,回車后完成代理服務(wù)器的啟動。另外,這里只分析處理了 協(xié)議的請求,對其他協(xié)議(比如 ftp)沒有做出程序設(shè)計,這些都是有待進一步開發(fā)的。 第 19 頁 共 20頁 致 謝 本文是在韓斌老師的熱情關(guān)心和指導(dǎo)下完成的,他淵博的知識和嚴謹?shù)闹螌W(xué)態(tài)度使我受益匪淺,對順利完成本課題起到了極大的作用。 ( 5)學(xué)??梢怨紝W(xué)位論文的全部或部分內(nèi)容(保密學(xué)位論文在解密后遵守此規(guī)定)。s initials are ., and I don39。, while Beth ran to the window, and picked her finest rose to ornament the stately bottle. You see I felt ashamed of my present, after reading and talking about being good this morning, so I ran round the corner and changed it the minute I was up, and I39。, and her chief trouble was poverty. She found it harder to bear than the others because she could remember a time when home was beautiful, life full of ease and pleasure, and want of any kind unknown. She tried not to be envious or discontented, but it was very natural that the young girl should long for pretty t
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1