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

正文內(nèi)容

基于bs方式的即時通訊軟件的設(shè)計與實現(xiàn)—計算機畢業(yè)設(shè)計-文庫吧

2024-11-09 11:07 本頁面


【正文】 的領(lǐng)域已近越來越廣,其競爭也越來越激烈。國內(nèi) 最大的敵手朗瑪 UC 從 2020 年開始研發(fā), 2020 年的 12月份 UC正式發(fā)布 ,并且首創(chuàng)了很多技術(shù): UC是國內(nèi)第一個做場景聊天的; UC是第一個把同學錄和校友錄結(jié)合的;第一個把即時通訊與休閑游戲相結(jié)合的;第一個把發(fā)送動畫與即時通訊相結(jié)合的。 在一年的發(fā)展里, UC 一度達到峰值在線 30 萬人,注冊用戶達到 7000 萬。 但是縱觀這些即時通訊軟件業(yè),都是基于 C/S 模式的,需要下載客戶 端進行安裝,用戶名、密碼、聊天記錄等也是存放在本地機器上,在安全性和方便性上都有所欠缺。設(shè)計并開發(fā)一個基于 WEB 的即時通訊平臺,對于現(xiàn)階段的學習和研究,都是極為有意義的,基于這個前提和起因,我選擇了 基于 B/S 方式的即時通訊軟件的設(shè)計與實現(xiàn) 作為我的畢業(yè)設(shè)計。 2 系統(tǒng)分析 課題目的 設(shè)計一個基于 B/S 模式的 IM軟件,可以通過 IE等瀏覽器直接完成客戶端的 登錄 、數(shù)據(jù)傳輸、好友信息分組管理、狀態(tài)更新、兩人以及多人的文字聊天等功能。 課題意義 作為計算機專業(yè)的學生,即時了解和掌握流行的即時通訊機制并且應用到實踐 過程中,將極大的提高自己的設(shè)計和開發(fā)軟件的積極性;提升自己的理論和技術(shù)水平,跟蹤國內(nèi)外最新的技術(shù)和開發(fā)模式,為以后類似的開發(fā)積累經(jīng)驗;同時,開發(fā)出來的作品也可以真正運用到實際當中,方便大家的溝通和交流。 應解決的問題 1) 服務系統(tǒng)模型的選擇; 2) 實時查看在線好友列表; 3) 向在線好友發(fā)送即時消息; 4) 實時接收在線消息并且彈出提示; 5) 狀態(tài)的即使切換(在線,隱身等)。 需要實現(xiàn)的功能 1) 實現(xiàn)用戶注冊、 登錄 、退出、更改狀態(tài)等功能; 2) 實現(xiàn)文本信息發(fā)送; 3) 實現(xiàn)搜索好友,添加好友,刪除好友技術(shù); 4) 實現(xiàn)消息的提示功能; 5) 實現(xiàn)設(shè)置好 友權(quán)限功能。 開發(fā)環(huán)境 vs2020 開發(fā)環(huán)境介紹 Visual Studio 是微軟公司出品的一款大型應用軟件 , 是一套完整的開發(fā)工具集,它主要用于生成 Web 應用程序、 XML Web Services、桌面應用程序和移動應用程序。 Visual Basic、 Visual C++、 Visual C 和 Visual J 全都使用相同的集成開發(fā)環(huán)境( IDE)。利用此 IDE 可以共享工具且有助于創(chuàng)建混合語言解決方案,使程序可以使用不同的語言共同開發(fā)。 NET 開發(fā)平臺由一組用于建立 Web 服務應用程序和 Windows 桌面應用程序的軟件組件構(gòu)成,包括 .NET 框架 (Framework)、 .NET 開發(fā)工具和 。 Visual Studio 2020 的集成開發(fā)環(huán)境中為開發(fā)人員提供了大量的實用工具以提高工作效率。這些工具包括了自動編譯、項目創(chuàng)建向?qū)А?chuàng)建部署工程等。 Sql Server 2020 介紹 SQL Server2020 由一系列相互協(xié)作的組件構(gòu)成,能滿足最大的 Web 站點和企業(yè)數(shù)據(jù)處理系統(tǒng)存儲和分析數(shù)據(jù)的需要。 SQLServer 構(gòu)架各種組件通過何種方式發(fā)揮合力,更富成效地管理數(shù)據(jù)。 SQL Server2020數(shù)據(jù)庫引擎提供完整的 XML支持。它還具有構(gòu)成最大的 Web站 點的數(shù)據(jù)存儲組件所需的可伸縮性、可用性和安全功能。 SQL Server2020 程序設(shè)計模型與 WindowsDNA 構(gòu)架集成,用以開發(fā) Web 應用程序,并且 SQL Server2020 支持 EnglishQuery 和 Microsoft 搜索服務等功能,在 Web 應用程序中包含了用戶友好的查詢和強大的搜索功能。 C語言介紹 C是一種語言 ,它是專門為了微軟的 .NET 戰(zhàn)略而設(shè)計的一種語言 . C也叫C.Net。 關(guān)鍵技術(shù) Ajax簡 介 Ajax 是異步 JavaScript 和 XML( Asynchronous JavaScript and XML)的英文縮寫。“ Ajax”這個名詞的發(fā)明人是 Jesse James Garrett,而大力推廣并且使 Ajax 技術(shù)炙手可熱的是 Google。 Google 發(fā)布的 Gmail, Google Suggest等應用最終讓人們了解了什么是 Ajax。 Ajax 的核心理念在于使用 XMLHttpRequest 對象發(fā)送異步請求,最初為XMLHttpRequest 對象提供瀏覽器支持的微軟公司。早在 1998 年,微軟公司開發(fā) Web 版 Outlook 時,就已經(jīng)以 ActiveX 控件的方式為 XMLHttpRequest 提供了支持。 Ajax 是使用客戶端腳本與 Web 服務器交換數(shù)據(jù)的 Web 應用開發(fā)方法。這樣, Web 頁面不用打斷交互流程進行重新加裁,就可以動態(tài)地更新。使用 Ajax,用戶可以創(chuàng)建接近本地桌面應用的直接、高可用、更豐富、更動態(tài)的 Web 用戶界面。 實際上, Ajax 不是一種技術(shù),而是幾種技術(shù)。每種技術(shù)都具有獨特之處,合在一起就形成了一個功能強大的新技術(shù)。 Ajax 包括: 1) XHTML和 CSS; 2) 使用文檔對象模型進行動態(tài)顯示和交 互; 3) 使用 XML 和 XSLT 進行數(shù)據(jù)交互和操作; 4) 使用 XMLHttpRequest 進行異步數(shù)據(jù)接收; 5) 使用 JavaScript 將它們綁定在一起。 3 需求分析 即時消息的一般需求 1) 一般即時消息格式需求: ①所有實體必須至少使用一種消息格式; ②一般即時消息格式必須定義發(fā)信者和即時收件箱的標識; ③一般即時消息格式必須包含一個讓接收者可以回消息的地址; ④一般即時消息格式應該包含其他通訊方法和聯(lián)系地址,例如電話號碼,郵件地; ⑤一般即時信息格式必須允許對信息有效負載的編碼和鑒別 (非 ASCII 內(nèi)容 ); ⑥一般即時信息格式必須反映當前最好的國際化實踐; ⑦一般即時信息格式必須反映當前最好的可用性實踐; ⑧必須存在方法,在擴展一般即時消息格式的時候,不影響原有的域; ⑨必須提供擴展和注冊即時消息格式的模式的機制。 2) 可靠性需求 協(xié)議必須存在機制,保證即時消息成功投遞或者投遞失敗的時候,發(fā)信者獲得足夠的信息。 3) 性能需求 ①即時消息的傳輸必須足夠的迅速; ②即時消息的內(nèi)容必須足夠豐富; ③即時消息的長度盡量足夠的長。 即時通訊系統(tǒng)需求 1) 注冊需求 ①即時通訊系統(tǒng)允許多個用戶注冊; ②一個用戶可以注冊多個 ID; ③注冊所使用的帳號類型為數(shù)字或者字母; ④注冊新用戶時必須填寫符合要求的信息。 2) 通訊需求 ①用戶可以傳輸文本消息; ②用戶的消息可以中轉(zhuǎn)至服務器; ③用戶可以從服務器獲取中轉(zhuǎn)的好友消息; 3) 好友管理需求 ①用戶可以查詢好友; ②用戶可以添加好友; ③用戶可以添加多個人為好友,一個用戶可以被多個人添加為好友 ④用戶可以刪除好友; ⑤用戶可以將好友放在多個組中; ⑤用戶的好友一次只能屬于一個組。 4) 狀態(tài)切換需求 ①用戶可以選擇登錄狀態(tài); ②登錄完成后用戶可以切換狀態(tài)(在線,隱身); ③用戶可以注銷登錄。 5) 查看在線好友需求 ①用戶登錄時列出所有在線好友; ②用戶可以看到新近登錄的好友; ③用戶將不在看到臨時登出的好友。 4 系統(tǒng)設(shè)計 方案論證 “即時”技術(shù)的選擇 聊天系統(tǒng)實現(xiàn)的關(guān)鍵在于其實時的特性,包括狀態(tài)的實時改變,消息的實時收發(fā),狀態(tài)的實時切換等,而傳統(tǒng)的 Web 應用采用同步交互過程,這種情況下,用戶首先向 Web 服務器發(fā)送一個請求,然后 Web 服務器根據(jù)用戶請求的內(nèi)容,執(zhí)行相應的任務,并向用戶返回結(jié)果。這是一種不連貫的用戶體驗,在服務器處理請求時,用戶只能等待,此時瀏覽器顯示的頁面是空白的,這也就是通常所說 的“白屏”現(xiàn)象,應用此種技術(shù)肯定實現(xiàn)不了即時通訊所要求的效果。所以就需要尋求一種新的技術(shù)來實現(xiàn)本系統(tǒng)所要求的即時的效果,而 Ajax 恰好彌補了 Web 應用的這一缺點。 與傳統(tǒng)的 Web 應用不同, Ajax 采用了異步交互的方式。它在用戶和服務器之間引入了一個中間媒介,從而改變了同步交互過程中的“處理 等待 處理 等待”模式。用戶的瀏覽器在執(zhí)行任務時即裝載了 Ajax 引擎。該引擎是用JavaScript 語言編寫的,通常位于一個隱藏的框架中,負責轉(zhuǎn)發(fā)用戶界面和服務器之間的交互。 Ajax引擎允許用戶和應用系統(tǒng)之間的交互以異步 的方式進行,獨立于用戶與 Web 服務器之間的交互?,F(xiàn)在,可以通過 Ajax 引擎向 Web 服務器發(fā)送請求。所以本系統(tǒng)決定采用 Ajax 來實現(xiàn)即時通訊各個部分“即時”效果的實現(xiàn)。 使用 Ajax 可以帶來的好處有以下幾個方面: 1.減輕服務器的負擔。 Ajax 的原則是“按需取數(shù)據(jù)”,可以最大程度地減少冗余請求,減輕服務器的負擔。 2.無需刷新頁面,減少用戶心理和實際的等待時間。特別是在讀取大量數(shù)據(jù)時,不會像刷新頁面那樣出現(xiàn)白屏的情況, Ajax 使用 XMLHttpRequest 對象發(fā)送請求并且得到服務器響應,在不重新載入整個頁面 的情況下,用 JavaScript操作 DOM 更新頁面。因此在讀取數(shù)據(jù)的過程中,用戶所面對的不是白屏,是原來的頁面內(nèi)容,只有在數(shù)據(jù)接收完畢后才更新相應部分的內(nèi)容。這種更新是瞬間的,用戶幾乎感覺不到。 3.帶來更好的用戶體驗。 4.可以把以前一些服務器負擔的工作轉(zhuǎn)嫁到客戶端,利用客戶端閑置的能力來處理,減輕服務器負擔,充分利用寬帶資源,節(jié)約空間和寬帶租用成本。 5.可以調(diào)用外部數(shù)據(jù)。 6.基于標準化的并廣泛支持的技術(shù),不需要下載插件或者小程序。 7. 進一步促進頁面呈現(xiàn)與數(shù)據(jù)的分離。 webmsn 的 模型選擇 1) 即 時通訊系統(tǒng)的一般模型 即時通訊服務有兩個實體:發(fā)送者和即時收信箱。即時通訊協(xié)議定義了即時通訊服務、發(fā)信者和即時收信箱之間的交互作用。即時通訊服務與其他郵件服務不同之處在于,即時消息本身足夠的小,便于快速交付到即時收件箱。個體,用戶代理,即時通訊系統(tǒng)的模型 如 圖 41 表示: 圖 41 即時通訊系統(tǒng)的一般模型 即時通訊系統(tǒng)模型發(fā)信者或者即時收信箱的身份鑒別。 ①不同的收信箱有不同的身份鑒別需求。 ②不同的旁觀者有不同的身份鑒別的需求。 ③服務內(nèi)部可能存在多服務器或者多代理服務器。也就是說一 個即時通訊服務的邏輯的連接,內(nèi)部可能有復雜的重定向和代理結(jié)構(gòu)。代理服務器即時收信箱的身份與其他服務器交換即時消息。 ④服務并不需要一個服務器,可以通過發(fā)信者和即時收信箱之間的直接通訊實現(xiàn)。 ⑤涉及與其他即時通訊服務的情況,可能會有 — 定的內(nèi)部機制。 個體還可以通過收件箱用戶代理設(shè)置交付規(guī)則( Delivery Rules)限制即時通訊服務把即時信息交付到即時收信箱。 2) 即時通訊系統(tǒng)服務拓撲模型 現(xiàn)在不少即時通訊系統(tǒng)服務的內(nèi)部拓撲中采用模式一;也有極其個別系統(tǒng)在即時通訊服務上面采用模式二。 模式一是一種非常成熟的模 式,大多數(shù) TCP/IP 應用系統(tǒng),例如 SMTP 服務、DNS 服務、 WWW 服務等都是使用這種模式。模式二,對于模式一是一個技術(shù)上的修正,雖然這個修正帶來了新的問題,但是其實用性是不可質(zhì)疑的; WEBMSN正是實用模式二作為服務模式; webmsn 的服務是由服務器構(gòu)成的; webmsn 中每個實體都由一個寄主服務器管理。個體必須向服務器注冊,注冊后就有可以控制的發(fā)信者和即時收件箱。發(fā)信者是獨立于即時通訊服務外的實體,而即時收信箱則存在于寄主服務器中。WEBMSN 的通訊系統(tǒng)中只有存在發(fā)送者和接收者兩類實體。注冊后的 用戶必須在服務器上建立登記表,才能知道其他用戶的存在,與其他用戶進行交流。 圖 42 即時通訊系統(tǒng)服務模型 S1 S3 S2 C1 C2 C3 客戶端 — 服務器星型結(jié)構(gòu) 服務器 — 服務器對等結(jié)構(gòu) 模式一 S1 S3 S2 C1 C2 C3 客戶端 — 服務器星型結(jié)構(gòu) 服務器 — 服務器對等結(jié)構(gòu) 客戶端 — 客戶機對等結(jié)構(gòu) 模式二 C S 服務器 客戶端 客戶端 — 客戶端連接 客戶端 — 服務器連接 服務器 — 服務器連接 數(shù)據(jù)庫設(shè)計 數(shù)據(jù)表設(shè)計 設(shè)計數(shù)據(jù)庫應該具備數(shù)據(jù)庫的基本知識和數(shù)據(jù)庫設(shè)計技術(shù),計算機科學的基礎(chǔ)知識和程序設(shè)計的方法和技巧及軟件工程的原理和方法應用領(lǐng)域的知識。 根據(jù)本系統(tǒng)的特點和要求,通過對整個系統(tǒng)運行過程和數(shù)據(jù)流程分析,得出本系統(tǒng)的實體表:用戶信息表: users ;聊天信息數(shù)據(jù)表: message ; users變化監(jiān)控表: global_info 。 經(jīng)過數(shù)據(jù)庫分析與設(shè)計得到數(shù)據(jù) 庫的邏輯結(jié)構(gòu)。本系統(tǒng)使用 Microsoft SQL Server 2020 為數(shù)據(jù)庫開發(fā)工具;創(chuàng)建名為 msn 數(shù)據(jù)庫根據(jù)各種功能的實現(xiàn)以及考慮到將來系統(tǒng)功能上的擴展,設(shè)計如下數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu): 表 41 用戶信息數(shù)據(jù)
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1