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

正文內(nèi)容

基于tcpip的網(wǎng)絡(luò)聊天工具的設(shè)計與實現(xiàn)—計算機畢業(yè)設(shè)計-在線瀏覽

2024-09-16 08:47本頁面
  

【正文】 IP協(xié)議并不完全符合OSI的七層參考模型。該模型的目的是使各種硬件在相同的層次上相互通信。而TCP/IP通訊協(xié)議采用了4層的層級結(jié)構(gòu),每一層都呼叫它的下一層所提供的網(wǎng)絡(luò)來完成自己的需求。 傳輸層:在此層中,它提供了節(jié)點間的數(shù)據(jù)傳送服務(wù),如傳輸控制協(xié)議(TCP)、用戶數(shù)據(jù)報協(xié)議(UDP)等,TCP和UDP給數(shù)據(jù)包加入傳輸數(shù)據(jù)并把它傳輸?shù)较乱粚又?,這一層負責傳送數(shù)據(jù),并且確定數(shù)據(jù)已被送達并接收。 網(wǎng)絡(luò)接口層:對實際的網(wǎng)絡(luò)媒體的管理,定義如何使用實際網(wǎng)絡(luò)(如Ethernet、Serial Line等)來傳送數(shù)據(jù)。VC++是Windows平臺上的C++編程環(huán)境,學習VC要了解很多Windows平臺的特性并且還要掌握MFC、ATL、COM等的知識,難度比較大。 VC作為一個主流的開發(fā)平臺一直深受編程愛好者的喜愛,但是很多人卻對它的入門感到難于上青天,究其原因主要是大家對他錯誤的認識造成的,嚴格的來說VC++不是門語言,雖然它和C++之間有密切的關(guān)系,如果形象點比喻的話,可以C++看作為一種“工業(yè)標準”,而VC++則是某種操作系統(tǒng)平臺下的“廠商標準”,而“廠商標準”是在遵循“工業(yè)標準”的前提下擴展而來的。 開發(fā)及運行環(huán)境硬件平臺:1) CPU:P4 。軟件平臺:1) 操作系統(tǒng):Windows XP/ Windows 2000。圖1面向連接的Socket 工作流程圖系統(tǒng)穩(wěn)定性:在設(shè)計該系統(tǒng)時,很重要的一個問題就是系統(tǒng)的長期穩(wěn)定運行,因為客戶端可能很多個,考慮到系統(tǒng)的運行環(huán)境等條件,必須從系統(tǒng)分析的高度給與足夠重視,保證服務(wù)器能夠較長時間的運行系統(tǒng)健壯性:系統(tǒng)需要長期穩(wěn)定地運行,而用戶在日常的工作中要進行各種各樣的操作,難免會產(chǎn)生各種各樣的誤操作和錯誤,這就打破了本系統(tǒng)的正常運行流程,可能導致預想不到的后果。良好的適應(yīng)性:系統(tǒng)必須具有良好的擴展能力和修改方便的特點,以適應(yīng)不同的變化。界面友好:用戶界面是聊天工具與主要環(huán)節(jié),所以,應(yīng)充分考慮用戶的習慣和喜好,以方便用戶使用為原則。廣播聊天、聊天室聊天、二人私聊、文件傳輸四個功能。采用服務(wù)器與客戶端模式。服務(wù)器端連接過程簡化為:①設(shè)置連接所用的端口②開始監(jiān)聽此端口③接到請求后建立連接④可以發(fā)送和接收數(shù)據(jù)⑤不用了就關(guān)閉Socket連接。 MFC Windows Socket 類包括CAsyncSocket 和CSocket 類。其次,CSocket 類是CAsyncSocket 類的派生類, 它提供了對通過Carchive 對象使用套接字工作的更高級抽象。更加重要的是CSocket 和Carchive 類提供了對于同步操作Carchive 對象十分重要的阻塞功能, 且CSocket 通過與CSocketFile 和Carchive 一起使用來管理對象數(shù)據(jù)的發(fā)送和接收, 使發(fā)送數(shù)據(jù)和操作變得簡單明了 系統(tǒng)功能設(shè)計 客戶端功能程序設(shè)計首先介紹客戶端的用戶登錄窗體,輸入用戶名和服務(wù)器ip地址后進入聊天室。消息顯示框發(fā)送消息傳輸文件(下拉框)選擇聊天對象(復選框)二人私聊圖 4功能及模塊實現(xiàn)窗口圖 4中聊天對象下拉框中,包括所有人選項和登陸某某用戶名的下拉框選項,如下圖5,所有人張三李四…圖5 選擇用戶下拉框點擊文件傳輸按鈕后,在文件傳輸對話框中會顯示相應(yīng)的傳輸文件,只要雙擊你所需要的文件,選擇相應(yīng)的存儲路徑后即可存儲文件。 本實驗采用VS 2003 為平臺利用VC++開發(fā)語言進行程序編寫。派生類CListeningSocket的回調(diào)函數(shù)OnAccpet()與客戶端建立套接字層次的連接。啟動服務(wù)端,顯示服務(wù)端界面:圖6 用戶管理界面打開客戶端,顯示客戶端登陸界面:從名稱的下拉列表框中選擇登錄的用戶,單擊確定,進入該用戶聊天的界面,同時服務(wù)端也會顯示出該用戶的進入信息:在聊天對象中,選擇所有人,在聊天信息中,輸入信息,單擊發(fā)送信息。 ASSERT_VALID(pDoc)。 GetDlgItem(IDC_TEXT)GetWindowText(strText)。 if(strText==) return。 int j=()。 pDoc=ll。 pDoc=to。 else pDoc=FALSE。 BYTE i1=GetRValue(pDocclr)。 BYTE i3=GetBValue(pDocclr)。 pDocSendMsg()。 GetDlgItem(IDC_TEXT)SetWindowText(strText)。這時信息只顯示在聊天人的客戶端中,而在其他客戶端,并不顯示該信息。Socket 通信在Windows 中以排隊形式由操作系統(tǒng)進行處理, 基本方式是請求和應(yīng)答, 而且接收方和發(fā)送方必須相互協(xié)同工作,否則就會造成數(shù)據(jù)丟失。 另外, 對于較大的文件, 應(yīng)該分批傳輸,一般每次1至4KB為宜,以保證數(shù)據(jù)傳輸?shù)姆€(wěn)定性, 同時也不至于過多地占用系統(tǒng)資源。 int iSel = pListViewiItem。 CString strFileName = (iSel, 0)。 if(() != IDOK) return。 CFile file。 if(!bOpen) { MessageBox(文件創(chuàng)建或打開失?。≌埓_認路徑再重試!)。 } ()。 = FILEDATA。 = 0。 strcpy(, (iSel, 5))。 char sStartTick[20]。 (iSel, 6, sStartTick)。 *pResult = 0。因而各種聊天服務(wù)備受用戶青睞, 在這方面的開發(fā)與應(yīng)用也較多[1], 聊天服務(wù)也成為互聯(lián)網(wǎng)提供的重要服務(wù)之一。進入20 世紀90 年代后, 隨著計算機和網(wǎng)絡(luò)技術(shù)的發(fā)展,很多數(shù)據(jù)處理系統(tǒng)都采用開放系統(tǒng)結(jié)構(gòu)的客戶機/服務(wù)器(Client/Server)網(wǎng)絡(luò)模型,即客戶機向服務(wù)器提交請求,服務(wù)器對請求做相應(yīng)的處理兵執(zhí)行被請求的任務(wù),然后將結(jié)構(gòu)返回給客戶機??蛻魴C/服務(wù)器模型工作時要求有一套為客戶機和服務(wù)器所共識的慣例來保證服務(wù)能夠被提供( 或被接受) , 這一套慣例包含了一套協(xié)議, 它必須在通信的兩頭都被實現(xiàn)。在對稱的協(xié)議中每一方都有可能扮演主從角色。一個對稱協(xié)議地例子是Internet中用于終端仿真地Telnet, 而非對稱協(xié)議地例子是Internet 中的。一個服務(wù)程序通常在一個眾所周知地地址監(jiān)聽客戶對服務(wù)地請求, 也就是說, 服務(wù)進程一直處于休眠狀態(tài), 直到一個客戶對這個服務(wù)地址提出連接請求。本文以Visual C++的MFC(微軟基本類庫)作為基本的開發(fā)基礎(chǔ), 使用Socket 套接字作為開發(fā)的應(yīng)用程序開發(fā)模型, 完成了網(wǎng)絡(luò)在線聊天系統(tǒng)的設(shè)計及實現(xiàn)過程, 通過測試表明該系統(tǒng)可以方便的建立連接, 斷開連接, 實現(xiàn)網(wǎng)絡(luò)在線聊天系統(tǒng)的在線好友查找, 發(fā)送消息和接收消息等功能。7 致謝我的作品基于TCP/IP的網(wǎng)絡(luò)聊天工具的設(shè)計與實現(xiàn),達到了我預先的效果。我的論文的完成,離不開這位老師的指導與關(guān)愛。參考文獻[1] Douglas E Comer , David L Stevens. Internet Working With TCP/ IP Vol Ⅱ:Design , Implementation and Internal [M] . 張娟,等譯. 北京:電子工業(yè)出版社,1998.[2] 李鵬. 計算機通信技術(shù)及其程序設(shè)計[M] . 西安:西安電子科技大學出版社,1998.[3] 黃超. Windows網(wǎng)絡(luò)編程[M] . 北京:人民郵電出版社,2000[4] 劉運強,王匯源1Socket 和多線程在視頻傳輸?shù)膽?yīng)用[J ] 山東大學學報(工學版) ,2004 ,34(2) :452501[5] 胡濤1Visual C + + 1NET 編程技術(shù)體驗[M]1 北京:清華大學出版社,1991[6] 蘇炳秒,黃勁 基于Socket 技術(shù)的煤礦遠程監(jiān)控系統(tǒng)[J ]工礦自動化,2003 , (1) :372391[7] 袁立民 一種視頻圖像傳輸?shù)亩嗑€程實現(xiàn)方法[J] 電子技術(shù)應(yīng)用,1999 ,25(1) :492501[8] 蔣東興 Windows Sockets 網(wǎng)絡(luò)程序設(shè)計大全[M]北京:清華大學出版社,19991[9] 王騫,等 一類網(wǎng)絡(luò)控制系統(tǒng)的建模及分析[J ] 控制工程,2004 ,11(6) :52925321基于TCP/IP的網(wǎng)絡(luò)聊天工具的設(shè)計與實現(xiàn)摘要Socket 接口是TCP/ IP 網(wǎng)絡(luò)的API(應(yīng)用程序接口) ,Windows Sockets (Winsock) 是一個基于Socket 模型的API。對TCP/ IP 協(xié)議提供的兩種通信功能進行了分析,辯證地提出了它們不同的應(yīng)用場合。并從系統(tǒng)的需求分析、系統(tǒng)分析、詳細設(shè)計的整個開發(fā)過程進行全面論述。關(guān)鍵詞: 網(wǎng)絡(luò)。5系統(tǒng)功能實現(xiàn) 10 10 錯誤!未定義書簽。 錯誤!未定義書簽。Internet上數(shù)據(jù)傳輸協(xié)議主要有TCP和UDP。保證數(shù)據(jù)傳送安全到達目的地。它只是將信息送到網(wǎng)絡(luò)上,并不檢查數(shù)據(jù)是否到達了目的地。則應(yīng)該采用TCP協(xié)議。傳輸控制協(xié)議TCP (Transmission Control Protocol) 是Internet 最基本的網(wǎng)絡(luò)通信協(xié)議, 它由一系列協(xié)議組成,其中核心協(xié)議是傳輸層的TCP和UDP( User Datagram Protocol, 用戶數(shù)據(jù)報協(xié)議)協(xié)議。在優(yōu)良的網(wǎng)絡(luò)環(huán)境, UDP 的工作效率較TCP 協(xié)議要高。所幸的是, MFC的CSocket類對WinSock 進行了有效的封裝, 并不需要直接與Winsock 的API 打交道, 調(diào)用CSocket類的一些方法成員,就可以方便進行機器之間的通訊,使得對Winsock 的訪問大大簡化。作為一種即時通信工具,一般聊天工具支持顯示朋友在線、尋呼、聊天、即時傳送文字、語音和文件等功能,支持視頻功能的視頻。通過互聯(lián)網(wǎng),信息傳遞擺脫了時空的限制,只要交流雙方是與網(wǎng)絡(luò)相連通的,不管對方身在何處,雙方都可以進行即時對話。(3)互動性。它可以進行實時的一對一、一對多、多對多的互動交流,實時地對對方做出反應(yīng)。網(wǎng)絡(luò)聊天工具還可以與移動通訊終端、IP 電話網(wǎng)、無線尋呼等多種通訊方式相連,是一種方便、實用、高效的即時通信工具。網(wǎng)絡(luò)世界的虛擬性、平等性以及網(wǎng)絡(luò)信息傳遞的瞬時性,滿足了大學生輕松交往的要求。(5)距離感。心理學家分析,距離可以使人產(chǎn)生朦朧,朦朧為想象提供了足夠的空間,想象則可以產(chǎn)生美感。2系統(tǒng)分析 需求分析通過調(diào)查研究,要求系統(tǒng)滿足有以下功能;7) 由于操作人員的計算機知識普遍較差,要求有良好的人機界面。9) 實現(xiàn)廣播聊天、聊天室聊天、二人私聊、文件傳輸四個功能。12) 系統(tǒng)要體現(xiàn)界面友好,使用方便的特性。第一種為流方式(Stream Socket), 也稱面向連接方式, 用于實現(xiàn)TCP 協(xié)議。只有兩端的程序成功地進行了握手之后才能開始傳輸數(shù)據(jù)。第二種為數(shù)據(jù)報文方式(Datagram Socket),又稱無連接方式, 在進行數(shù)據(jù)傳送以前兩端的程序不需要任何溝通。面向連接的Socket工作中有比較嚴格的操作次序。 客戶在建立Socket 對象后就可調(diào)用connect()函數(shù)和服務(wù)器建立連接。 一旦數(shù)據(jù)傳送結(jié)束, 雙方都必須關(guān)閉初始創(chuàng)建的socket 對象。Winsock 對有可能發(fā)生阻塞的函數(shù)提供了兩種處理方式——阻塞和非阻塞方式。阻塞方式是UNIX 中Socket 工作的默認方式, 可是在Windows 系統(tǒng)中這種方式是無法容忍的。因此, 在編程時, 應(yīng)盡量使用非阻塞方式。傳統(tǒng)的開放式系統(tǒng)互連參考模型,是一種通信協(xié)議的7層抽象的參考模型,其中每一層執(zhí)行某一特定任務(wù)。這7層是:物理層、數(shù)據(jù)鏈路層、網(wǎng)路層、傳輸層、話路層、表示層和應(yīng)用層。這4層分別為: 應(yīng)用層:應(yīng)用程序間溝通的層,如簡單電子郵件傳輸(SMTP)、文件傳輸協(xié)議(FTP)、網(wǎng)絡(luò)遠程訪問協(xié)議(Telnet)等。 互連網(wǎng)絡(luò)層:負責提供基本的數(shù)據(jù)封包傳送功能,讓每一塊數(shù)據(jù)包都能夠到達目的主機(但不檢查是否被正確接收),如網(wǎng)際協(xié)議(IP)。 程序語言的選擇本系統(tǒng)采用VC++.NET 2003作為程序開發(fā)語言。Windows下編程需要了解Windows的消息機制以及回調(diào)(callback)函數(shù)的原理;MFC是Win32API的包裝類,需要理解文檔視圖類的結(jié)構(gòu),窗口類的結(jié)構(gòu),消息流向等等;COM是代碼共享的二進制標準,需要掌握其基本原理等等。VC++應(yīng)用程序的開發(fā)主要有兩種模式,一種是WIN API方式,另一種則是MFC方式,傳統(tǒng)的WIN API開發(fā)方式比較繁瑣,而MFC則是對WIN API再次封裝,所以MFC相對于WIN API開發(fā)更具備效率優(yōu)勢,但為了對WINDOWS開發(fā)有一個較為全面細致的認識,筆者在這里還是以講解WIN API的相關(guān)內(nèi)容為主線。4) 內(nèi)存:256MB以上。6) 開發(fā)語言:VC++7) 開發(fā)平臺:Visual Studio 20038) 分辨率:最佳效果1024768像素本次畢業(yè)采用了面向連接的數(shù)據(jù)流,即基于TCP協(xié)議的連接方式,其工作流程如圖1 所示。因此,在本系統(tǒng)的設(shè)計過程中,我們將預先考慮各種各樣的誤操作及后果,采取相應(yīng)的預防措施,確保不產(chǎn)生災(zāi)難性的后果,保證系統(tǒng)的健壯性。只有建立了穩(wěn)定的模型和良好的數(shù)據(jù)接口,才能保證系統(tǒng)具有良好的適應(yīng)性。本次畢業(yè)設(shè)計聊天工具主要實現(xiàn)以下功能:3) 客戶端功能:用戶登錄,進入聊天室。4) 服務(wù)端功能:顯示所有在線用戶,選擇某用戶后可以進行刪除操作客戶端功能模塊圖客戶端廣播聊天私人聊天聊天室聊天文件傳輸圖2 客戶端功能模塊 系統(tǒng)設(shè)計的原理本程序基TCP/IP協(xié)議。選用VC++程序設(shè)計語言??蛻舳撕喕癁椋孩僭O(shè)置服務(wù)器地址r要連接的地址②設(shè)置連接是所用到的端口③發(fā)送連接請求④建立連接成功⑤可以發(fā)送和接收數(shù)據(jù)⑥不用了就關(guān)閉Socket
點擊復制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1