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

正文內容

基于winsock的網絡聊天軟件設計(編輯修改稿)

2025-09-07 12:17 本頁面
 

【文章內容簡介】 以體現。它就是Microsoft Foundation Classes,簡稱為MFC,可以說它是VC開發(fā)環(huán)境的一個核心構件。MFC(Microsoft Foundation Class Library)中的各種類結合起來構成了一個應用程序框架,它的目的就是讓程序員在此基礎上來建立Windows下的應用程序,這是一種相對SDK來說更為簡單的方法。因為總體上,MFC框架定義了應用程序的輪廓,并提供了用戶接口的標準實現方法,程序員所要做的就是通過預定義的接口把具體應用程序特有的東西填入這個輪廓。Microsoft Visual C++提供了相應的工具來完成這個工作:AppWizard可以用來生成初步的框架文件(代碼和資源等);資源編輯器用于幫助直觀地設計用戶接口;ClassWizard用來協助添加代碼到框架文件;最后,編譯,則通過類庫實現了應用程序特定的邏輯[4]。Microsoft 也提供了C++庫,它位于任何 Windows API之上,能夠使程序員的工作更容易。它就是Microsoft基本類庫(MFC),該庫的主要優(yōu)點是效率高。它減少了大量在建立 Windows程序時必須編寫的代碼。同時它還提供了所有一般C++編程的優(yōu)點,例如繼承和封裝。MFC是可移植的,例如,在 Windows NT或 Windows 95上。因此,MFC很值得推薦的開發(fā)Windows應用程序的方法,在本教程自始至終使用的都是MFC。當是使用MFC時,你編寫的代碼是用來建立必要的用戶界面控制并定制其外觀。同時你還要編寫用來響應用戶操作這些控制的代碼。例如,如果用戶單擊一個按鈕時,你應該有代碼來響應。這就是事件驅動代碼,它構成了所有應用程序。一旦應用程序正確的響應了所有允許的控制,它的任務也就完成了。你可以看出,使用 MFC進行Windows 編程時是一件比較容易的的過程。本教程的目的是比較詳細地教你如何快速建立專業(yè)級的應用程序的技術。Visual C++ 應用程序開發(fā)程序環(huán)境特別適合于使用 MFC (也有其它開發(fā)環(huán)境使用MFC,譯者注),所以一起學習 MFC 和 Visual C++ 能夠增強你的開發(fā)程序的能力。MFC提供了兩個類CAsyncSocket和CSocket來封裝WinSock API,這給程序員提供了一個更簡單的網絡編程接口。CAsyncSocket在較低層次上封裝了WinSock API,缺省情況下,使用該類創(chuàng)建的socket是非阻塞的socket,所有操作都會立即返回,如果沒有得到結果,返回WSAEWOULDBLOCK,表示是一個阻塞操作。CAsyncSocket類所提供的唯一的抽象就是將與套接字相聯系的Windows消息以回調函數的形式表示,因此它所帶來的惟一方便就是程序員無需自行處理Winsock的I/O模型,而對如阻塞處理、字節(jié)排序差異以及Unicode等依然負有責任與靈活的控制權。CSocket建立在CAsyncSocket的基礎上,是CAsyncSocket的派生類,它提供了對通過CArchive對象使用套接字工作的更高級抽象。CSocket類的使用比CAsyncSocket類更加容易,它繼承了CAsyncSocket類的許多封裝了API的成員函數,并且管理了通信的大多數方面,這使用戶從原來不得不使用原始API或者CAsyncSocket類的繁雜工作中解脫出來。更加重要的是CSocket類提供了對于同步操作CArchive對象十分重要的阻塞功能,且CSocket通過與類CSocketFile和CArchive一起來管理對數據的發(fā)送和接收,使收發(fā)數據的操作變得簡單了,也就是缺省情況下使用該類創(chuàng)建的socket是非阻塞的socket,但是CSocket的網絡I/O是阻塞的,它在完成任務之后才返回。CSocket的阻塞不是建立在“阻塞”socket的基礎上,而是在“非阻塞”socket上實現的阻塞操作,在阻塞期間,CSocket實現了本線程的消息循環(huán),因此,雖然是阻塞操作,但是并不影響消息循環(huán),即用戶仍然可以和程序交互。 第二章 軟件需求分析及總體設計第一節(jié) 需求分析概述一、功能要求服務器端聊天程序(1)基本功能①監(jiān)聽本機IP地址中的一個指定的端口。②當有用戶端向該端口發(fā)送請求時,服務器程序立刻建立一個與該客戶端的連接并根據該客戶端的請求作出相應得處理,將處理結果返回給該客戶端。③服務器至少能夠識別4種請求命令:CONN(建立新連接)、CHAT(聊天)、PRIV(私聊)和EXIT(離開)。 (2)附加功能 每個聊天參與者應該有自身的詳細信息,如呢稱、編號、身份等,這些信息應該保存在服務器端的數據庫中。 客戶端聊天程序(1)當用戶沒有帳號時,應該有申請帳號的權利和便利,并把自己的用戶信息上傳到服務器端。(2)用戶必須可以正常的登陸到聊天主頁面,客戶端程序必須能夠滿足客戶聊天交互的需要,即:①當用戶寫完一條信息,點擊“發(fā)送”或按下回車,程序就應該立即將信息發(fā)送出去。②客戶端應該時刻準備接收來自服務器的消息,并作出反應并將結果顯示給客戶。(3)當用戶退出聊天室時,應該將這一信息告知服務器,并轉發(fā)給其他在線用戶。二、性能要求本軟件操作簡單,界面明了清爽,程序較小,啟動速度快,無啟動界面。啟動后的應用界面要清爽,設計要簡單明了,要具有較高的易用性。要求程序要完全可靠,可以應付種種由于系統(tǒng)問題產生的錯誤,比如初始網絡失敗,對方突然下線等。要求提前設想到類似的盡可能多的可能發(fā)生的事件,做出相應的應對措施,并向用戶提交簡單易懂清晰明白的提示信息。程序要有良好的容錯性,當用戶進行非法操作時或者系統(tǒng)本身出現問題時要能以最好的方式退出程序,避免發(fā)生程序假死現象。開發(fā)文檔要有好的易理解性,如果系統(tǒng)又要交由別人接手開發(fā),或者自己由于種種原因需要進行二次開發(fā),那么要保證以后能夠清晰的理解整個系統(tǒng)的設計思路以及實現細節(jié)。要求程序對所運行之系統(tǒng)的硬件條件要求盡可能低,運行時內存占用盡可能小,響應速度要盡可能快。并且不發(fā)生內存泄漏之類影響系統(tǒng)運行的錯誤事件。并且要求易于維護及擴展。所以應該采用模塊化開發(fā),各個模塊之間不要有太多的聯系,以免維護困難。三、測試環(huán)境規(guī)定在開發(fā)過程中由開發(fā)人員自己,也就是我本人隨時進行內部部分白盒測試,在開發(fā)完成以后,自己進行一個全面的白盒測試,然后請老師們和同學們幫忙進行黑盒測試。四、系統(tǒng)流程圖根據本軟件的功能規(guī)劃,大體上可以分為群聊和單聊模式。以下將是針對于公共聊天模式、單獨聊天模式和系統(tǒng)整體功能流程圖。,公共聊天模式我們可以把理解為就是我們在日常生活中我經常采用的聊天室模式,用戶通過自己的客戶端,經過身份驗證進入到聊天室。任何用戶在聊天室所發(fā)的數據,其客戶端將通過服務器端把消息群發(fā)至其他的每一個客戶端。所以,服務器的主要功能就是時時刻刻監(jiān)聽著網絡上的信息,準備隨時接收消息并群發(fā)消息;客戶端的主要功能是發(fā)送自己的消息并準備隨時接收來自于服務器的群發(fā)消息??蛻舳?客戶端2客戶端3客戶端4服務器發(fā)送消息發(fā)送消息發(fā)送消息發(fā)送消息接收消息接收消息接收消息接收消息 公共聊天模式,客戶端1和客戶端3進行的就是單獨聊天模式,就如同我們日常生活中使用與好友進行單獨聊天一樣。但是還是有一定的區(qū)別,就是客戶端在選擇單獨聊天模式之后不能同時參與聊天室里面的群聊。圖中客戶端2和客戶端4正在執(zhí)行的模式是聊天室的公共聊天模式??蛻舳?客戶端2客戶端3客戶端4服務器發(fā)送私聊消息公共消息接收私聊消息發(fā)送私聊消息接收私聊消息公共消息(私聊) 單獨聊天模式,客戶端在啟動的時候會默認進入聊天室的公共聊天模式,當客戶端A想與客戶端B進行私聊的時候,客戶端A的用戶可以通過鼠標雙擊“在線好友”列表中的用戶B的呢稱,之后在客戶端B會彈出一個窗口,詢問用戶B是否接受用戶A的請求。如果接受,客戶端A將與客戶端B進行正常的單獨聊天。如果拒絕接受,客戶端A將不能與客戶端B進行私聊,請求失敗?!究蛻舳恕繂映绦騍erver構造方法構造界面,建立與服務器的連接啟動客戶端線程,監(jiān)聽來自服務器端的信息點擊登陸聊天室點擊退出聊天室在文本框輸入群聊信息,點擊發(fā)送按鈕選中在線好友的呢稱點擊私聊按鈕,在文本框中輸入悄悄話服務器線程啟動,監(jiān)聽來自客戶端的信息流【服務器端】 系統(tǒng)整體運行流程圖五、可行性研究成本可行性分析因為本軟件只作為本次畢業(yè)設計做開發(fā)學習使用,所以此處暫暫且不考慮經濟成本及盈利問題。技術可行性分析首先我已經搭建好開發(fā)所需要的軟硬件平臺,并進行了合理而完善的需求分析,做好了充分的前期準備工作,其次因為本程序的平臺將基于WINDOWS,將要使用網絡通信技術,而WINDOWS有完善成熟的網絡通信接口,以及與VC開發(fā)環(huán)境的嚴密契合能力,加之相類似的更大規(guī)模的INTERNET通信工具產品也已有例在先,所以這個程序的開發(fā)可行性在技術上是完全可行的。 第二節(jié) 總體設計一、體系結構模型當今應用系統(tǒng)結構主要采用以下幾種體系結構模型:C/S(Client/Server)結構,即客戶機和服務器結構。它是軟件系統(tǒng)體系結構,通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務合理分配到Client端和 Server端來實現,降低了系統(tǒng)的通訊開銷。目前大多數應用軟件系統(tǒng)都是 client/Server 形式的兩層結構,由于現在的軟件應用系統(tǒng)正在向分布式的 Web 應用發(fā)展,Web 和Client/Server 應用都可以進行同樣的業(yè)務處理,應用不同的模塊共享邏輯組件;因此,內部的和外部的用戶都可以訪問新的和現有的應用系統(tǒng),通過現有應用系統(tǒng)中的邏輯可以擴展出新的應用系統(tǒng)。這也就是目前應用系統(tǒng)的發(fā)展方向。B/S(Browser/Server)結構即瀏覽器和服務器結構。它是隨著Internet 技術的興起,對 C/S 結構的一種變化或者改進的結構。在這種結構下,用戶工作界面是通過WWW瀏覽器來實現,極少部分事務邏輯在前端(Browser)實現,但是主要事務邏輯在服務器端(Server)實現,形成所謂三層 3tier 結構。這樣就大大簡化了客戶端電腦載荷, 減輕了系統(tǒng)維護與升級的成本和工作量, 降低了用戶的總體成本(TCO)。以目前的技術看,局域網建立 B/S 結構的網絡應用,并通過 Internet/Intranet 模式下數據庫應用。 三層結構,即將應用劃分為三層(可以有更多層,但三層最常見): 用戶界面層,商業(yè)邏輯層,數據庫層。 用戶界面層負責處理用戶的輸入和向用戶的輸出,但并不負責解釋其含義(出于效率的考慮,它可能在向上傳輸用戶輸入前進行合法性驗證),這一層通常用前端工具(VB,VC,ASP 等)開發(fā)。商業(yè)邏輯層是上下兩層的紐帶,它建立實際的
點擊復制文檔內容
黨政相關相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1