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

正文內(nèi)容

網(wǎng)絡(luò)聊天室論文-在線瀏覽

2024-08-01 21:48本頁面
  

【正文】 本課題主要研究的是局域網(wǎng)聊天軟件,此聊天軟件分為服務(wù)器程序和客戶端程序,本課題的目標(biāo)是能實現(xiàn)用戶在客戶端與服務(wù)器端傳遞文字信息。 系統(tǒng)綜述現(xiàn)在,多渠道的信息源、網(wǎng)絡(luò)化的數(shù)據(jù)分布、快捷醫(yī)用的交互操作、智能化的分析決策等特點越來越成為衡量有兩聊天軟件的關(guān)鍵,因此,本人開發(fā)一個局域網(wǎng)聊天軟件,該聊天軟件是基于C++語言運(yùn)行于VC平臺上,利用的技術(shù)主要是Socket通信,使用配置文件作為數(shù)據(jù)管理。第1章對本次課題的背景及意義、課題現(xiàn)狀、課題內(nèi)容與目標(biāo)進(jìn)行了深入的闡述。第 3 章是系統(tǒng)分析與設(shè)計。對系統(tǒng)的結(jié)構(gòu)進(jìn)行設(shè)計,設(shè)計共享數(shù)據(jù)結(jié)構(gòu)。第 5 章介紹系統(tǒng)測試。2 系統(tǒng)開發(fā)環(huán)境和關(guān)鍵技術(shù) 開發(fā)環(huán)境我所設(shè)計的是一個面向中小型機(jī)構(gòu)內(nèi)部通信需求的局域網(wǎng)即時信息軟件,要在短時間內(nèi)開發(fā)出來并且要滿足客戶要求,無論是硬件還是軟件都要選擇合適,要求如下:開發(fā)設(shè)備應(yīng)該完備;開發(fā)機(jī)器的性能必須穩(wěn)定;操作系統(tǒng)的選擇應(yīng)該適當(dāng);開發(fā)出的程序可以在盡可能多的平臺上運(yùn)行;要求運(yùn)行機(jī)配置盡可能低檔。處理器:Intel Pentium PIII或更高處理器 網(wǎng)絡(luò):局域網(wǎng)開發(fā)該系統(tǒng)應(yīng)盡可能采用高檔的硬件。 軟件環(huán)境 開發(fā)平臺:Microsoft Visual C++ 從20世紀(jì)70年代第一次提出面向?qū)ο蟮母拍铋_始,到現(xiàn)在面向?qū)ο蠹夹g(shù)發(fā)展成為一種比較成熟的編程思想,通過面向?qū)ο蠹夹g(shù),可以將現(xiàn)實世界直接影射到對象空間,從而為系統(tǒng)的設(shè)計和開發(fā)帶來革命性的影響。Visual C++是功能最為強(qiáng)大可視化開發(fā)工具,它不僅支持傳統(tǒng)的軟件開發(fā)方法,更重要的是它能支持面向?qū)ο蟆⒖梢暬拈_發(fā)風(fēng)格。Visual C++具有的優(yōu)點:提供了面向?qū)ο蟮膽?yīng)用程序框架MFC(Microsoft Foundation Class),簡化了程序員的編程工作,提高了模塊的可重用性;提供了基于CASE技術(shù)的可視化軟件的自動生成和維護(hù)工具AppWizard、ClassWizard、Visual Studio、WizardBar等,實現(xiàn)了直觀、可視的程序設(shè)計風(fēng)格,方便地編和管理各種類,維護(hù)程序的源代碼;封裝了Windows的API函數(shù)、USER、KERNEL、GDI函數(shù),簡化了編程時創(chuàng)建、維護(hù)窗口的許多復(fù)雜的工作。現(xiàn)在的Winsock已經(jīng)基本上實現(xiàn)了與協(xié)議無關(guān),你可以使用Winsock來調(diào)用多種協(xié)議的功能,但較常使用的是TCP/IP協(xié)議。所有的Windows Sockets實現(xiàn)都支持流套接口和數(shù)據(jù)報套接口。Windows Sockets又利用下層的網(wǎng)絡(luò)通訊協(xié)議功能和操作系統(tǒng)調(diào)用實現(xiàn)實際的通訊工作。這一API調(diào)用用來取代探尋網(wǎng)絡(luò)I/O調(diào)用。在這種情況下,在聲明感興趣的網(wǎng)絡(luò)事件時,你必須提供一個通知時使用的窗口句柄。應(yīng)用進(jìn)程WSAAsyncSelect線程繼續(xù)運(yùn)行 Recv()復(fù)制數(shù)據(jù)期間阻塞處理數(shù)據(jù) 內(nèi)核 等待數(shù)據(jù)數(shù)據(jù)準(zhǔn)備好復(fù)制數(shù)據(jù)將數(shù)據(jù)復(fù)制到擁護(hù)空間 完成復(fù)制系統(tǒng)調(diào)用返回消息系統(tǒng)調(diào)用返回成功指示 TCP/IP協(xié)議、TCP協(xié)議網(wǎng)際協(xié)議IP是TCP/IP的心臟,也是網(wǎng)絡(luò)層中最重要的協(xié)議。IP數(shù)據(jù)包是不可靠的,因為IP并沒有做任何事情來確認(rèn)數(shù)據(jù)包是按順序發(fā)送的或者沒有被破壞。如果IP數(shù)據(jù)包中有已經(jīng)封好的TCP數(shù)據(jù)包,那么IP將把它們向‘上’傳送到TCP層。TCP數(shù)據(jù)包中包括序號和確認(rèn),所以未按照順序收到的包可以被排序,而損壞的包可以被重傳。因此,UDP不被應(yīng)用于那些使用虛電路的面向連接的服務(wù),UDP主要用于那些面向查詢應(yīng)答的服務(wù).TCP和UDP服務(wù)通常有一個客戶/服務(wù)器的關(guān)系。 目的IP地址 接收包的IP地址。 目的端口 目的系統(tǒng)上的連接的端口。一個端口對應(yīng)一個16比特的數(shù)。這些端口號是“廣為人知”的,因為在建立與特定的主機(jī)或服務(wù)的連接時,需要這些地址和目的地址進(jìn)行通訊。通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到Client端和Server端來實現(xiàn),降低了系統(tǒng)的通訊開銷。C/S結(jié)構(gòu)軟件分為客戶機(jī)和服務(wù)器兩層,客戶機(jī)不是毫無運(yùn)算能力的輸入、輸出設(shè)備,而是具有了一定的數(shù)據(jù)處理和數(shù)據(jù)存儲能力,通過把應(yīng)用軟件的計算和數(shù)據(jù)合理地分配在客戶機(jī)和服務(wù)器兩端,可以有效地降低網(wǎng)絡(luò)通信量和服務(wù)器運(yùn)算量。C/S結(jié)構(gòu)的優(yōu)點是能充分發(fā)揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器。缺點主要有以下幾個:只適用于局域網(wǎng)。這種方式遠(yuǎn)程訪問需要專門的技術(shù),同時要對系統(tǒng)進(jìn)行專門的設(shè)計來處理分布式的數(shù)據(jù)。聊天系統(tǒng)有多種實現(xiàn)方式,類似ICQ屬于一種點對點的聊天系統(tǒng);還有一種是基于Socket的集中式聊天系統(tǒng),這種聊天系統(tǒng)需要登陸統(tǒng)一的聊天服務(wù)器?;赟ocket的聊天系統(tǒng)最早實現(xiàn)是使用網(wǎng)頁刷新方式,通過客戶端不斷地自動刷新,服務(wù)器端整個頁面內(nèi)容下載到客戶端顯示,這種方式的聊天速度慢,而且有刷屏現(xiàn)象,很快被更新的聊天技術(shù)所替代。這種“推”技術(shù)是目前基于Socket聊天系統(tǒng)的主要實現(xiàn)技術(shù)。這有別于普通Web瀏覽的連接方式。而在基于Socket的聊天系統(tǒng)中,客戶端發(fā)出聊天信息的同時,客戶端也在接受服務(wù)器發(fā)送過來的其他人的聊天信息,因此,請求和響應(yīng)不存在那種前后對應(yīng)關(guān)系,是兩種分別獨立進(jìn)行的進(jìn)程。局域網(wǎng)聊天系統(tǒng)使該系統(tǒng)的用戶能夠通過客戶端登入到該系統(tǒng),然后直接與系統(tǒng)交互。接下來,在客戶端,該系統(tǒng)的用戶能夠通過登陸界面進(jìn)入,然后直接與系統(tǒng)交互,進(jìn)行文字傳送??蛻舳藢崿F(xiàn)功能:(1) 向在線成員發(fā)送消息并接收消息。當(dāng)其他成員上線或下線時,客戶端及時更新成員狀態(tài)。(4) 當(dāng)對方不在線時,可以向該成員發(fā)送離線消息。(6) 保存聊天記錄。(2) 通知客戶端更新成員狀態(tài)。(4) 為離線用戶保存離線消息。(6) 禁止已登陸用戶再次登陸。(8) 為用戶保存離線消息。這樣,基于可重用的網(wǎng)絡(luò)通信層,可以實現(xiàn)其他各種實時性較高的應(yīng)用系統(tǒng)。CAsyncSocketCSocket聊天、游戲等應(yīng)用系統(tǒng)Window Sockets API 本系統(tǒng)最底層是Socket通信層,將負(fù)責(zé)客戶端和服務(wù)器之間快速的數(shù)據(jù)交換,它通過接口層和最上面應(yīng)用層保持實時數(shù)據(jù)聯(lián)系。Socket底層設(shè)計分兩大部分:協(xié)議設(shè)計和連接處理設(shè)計:協(xié)議設(shè)計和連接處理設(shè)計;CSocket層的目的是提供底層和應(yīng)用蹭一個中介媒體的作用,但是不能設(shè)計得太復(fù)雜,以免延誤數(shù)據(jù)傳送時間。加載套接字庫初始化套接字綁定本地機(jī)到套接字向指定IP地址發(fā)送數(shù)據(jù)關(guān)閉套接字庫結(jié)束聊天創(chuàng)建線程用于接受數(shù)據(jù) 功能設(shè)計局域網(wǎng)聊天系統(tǒng)以局域網(wǎng)內(nèi)的用戶為應(yīng)用對象,經(jīng)過各方面需求分析,該系統(tǒng)主要由服務(wù)器端和客戶端兩部分構(gòu)成,各功能模塊如圖36所示。該程序?qū)⒊蓡T列表設(shè)計為三種狀態(tài)登陸狀態(tài):當(dāng)用戶登陸服務(wù)器事,設(shè)置用戶狀態(tài)為登陸狀態(tài), 服務(wù)器根據(jù)該用戶列表狀態(tài)發(fā)送成員列表。離線狀態(tài):當(dāng)用戶離線時,不能發(fā)送和接受消息。在該類中聲明USERSTATUE枚舉類型,描述用戶狀態(tài)。 成員函數(shù),類成員變量如表32所示。userInfo) 無 復(fù)制構(gòu)造數(shù)~CUserInfo () 無 析構(gòu)函數(shù) Init() Void初始成員變量 Serialize(CArchiveamp。userInfo) CUserInfoamp。在該類中聲明PACKETTYPE枚舉類型。ar)Void 序列化表34:CChatPacket類成員變量名 稱 類 型 說 明m_type PACKETTYPE 包類型 m_UserInfo CUserInfo 用戶信息 m_strMsg CString 消息 m _pUserList CObList* 用戶鏈表 m_OfflineUserInfo CUserInfo 離線用戶信息 m_time CTime 日期和時間4 系統(tǒng)實現(xiàn) 服務(wù)器端設(shè)計實現(xiàn) 服務(wù)器端靜態(tài)類圖 服務(wù)器靜態(tài)類圖 服務(wù)器主要類介紹l CServerDlg類:創(chuàng)建服務(wù)器主窗口,管理用戶信息鏈表,管理在線用戶鏈表,管理離線用戶鏈表,讀取保存用戶信息,讀取保存離線消息等。obList) Void保存用戶信息LoadUserList(CObList amp。obList) Void復(fù)制用戶鏈表DeleteTempUserList(CObList amp。userInfo,CClientSocket *pClientSocket) BOOL更新用戶鏈表TransmitMsg(constCChatPacketamp。obList) Void更新服務(wù)器界面OnInitDialo
點擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1