您的位置:新文秘網(wǎng)>>通信/>>正文

網(wǎng)絡(luò)聊天工具的設(shè)計與開發(fā)

發(fā)表時間:2013/7/10 9:33:06


網(wǎng)絡(luò)聊天工具的設(shè)計與開發(fā)

專業(yè):計算機科學(xué)與技術(shù) 班級:計(092)本 姓名:鄭肖駿 指導(dǎo)教師:羅江英

摘要 隨著互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡(luò)聊天工具已經(jīng)作為一種重要的信息交流工具,受到越來越多的網(wǎng)民的青睞。目前,出現(xiàn)了很多非常不錯的聊天工具,其中應(yīng)用比較廣泛的有Netmeeting、騰訊QQ、MSN-Messager等等。網(wǎng)絡(luò)聊天工具作為一種新型的通信和交流工具,突破了地域的限制,可以提供更為便捷、靈活、全面的音、視頻信息的傳遞和服務(wù),具有極其廣泛的發(fā)展前景。本論文提出一個基于C#語言運行于.NET平臺上的局域網(wǎng)聊天器的解決方案,并對其具體應(yīng)用中的實現(xiàn)模塊進行了剖析。該聊天器包括服務(wù)器端和客戶端兩個模塊,服務(wù)端為客戶端提供用戶信息和IP地址,客戶端間可以進行文字通信。文字聊天采用TCP傳輸模式。程序使用Socket以完成服務(wù)器端和客戶端間的通信,使用多線程技術(shù)支持多用戶操作。

關(guān)鍵詞 多線程 TCP傳輸模式 Socket


Design And Development Of Net Chating Tool

Profession:Computer Science And Technology Class:J092 Name:*iaojun Zheng Instructor:Jiangying Luo

Abstract Along with the fast development of Internet, the network chating tool has already become one kind of important communication tools and received more and more web cams favor. At present, many e*tremely good chating tools have appeared . for e*ample, Netmeeting, QQ, MSN-Messager and so on. As a new tool about communication, net chating system has broken through geographical restrictions, has provides more convenient, fle*ible and complete transmission and service. Furthermor
……(新文秘網(wǎng)http://www.120pk.cn省略1693字,正式會員可完整閱讀)…… 
速,能同時與多個好友進行通訊的工具的出現(xiàn),而網(wǎng)絡(luò)聊天工具就滿足了這些需求。在互聯(lián)網(wǎng)技術(shù)的發(fā)展的今天,聊天軟件也在以前所未有的速度改變著人們的生活方式,它必定會成為人們網(wǎng)絡(luò)生活不可缺少的一部分。
廣域網(wǎng)上的即時通信工具,如今一般采用UDP或者 TCP協(xié)議體系來實現(xiàn),開發(fā)技術(shù)已經(jīng)比較成熟,這些軟件,在使用方面各有特色,在實現(xiàn)方面也各有所長,但基于這些產(chǎn)品正在商業(yè)運營階段,其實現(xiàn)方式屬于商業(yè)機密,具體細節(jié)不可能得知,但是它在大的方面無非就是利用各種平臺上的網(wǎng)絡(luò)通信接口,建構(gòu)基于TCP/IP,或者UDP協(xié)議的軟件產(chǎn)品。
網(wǎng)絡(luò)的飛速發(fā)展使網(wǎng)絡(luò)應(yīng)用程序的開發(fā)地位顯的越來越重要,而網(wǎng)絡(luò)應(yīng)用程序的開發(fā)和傳統(tǒng)應(yīng)用程序的開發(fā)在思想和實現(xiàn)上有很大的區(qū)別,隨著網(wǎng)絡(luò)技術(shù)和數(shù)據(jù)庫管理系統(tǒng)的發(fā)展,C/S體系結(jié)構(gòu)在軟件的開發(fā)中越來越流行。因為這種結(jié)構(gòu)的應(yīng)用軟件可以充分發(fā)揮網(wǎng)絡(luò)的作用和數(shù)據(jù)庫系統(tǒng)的優(yōu)勢,以滿足人們各種應(yīng)用的需求。
本文首先簡介涉及的相關(guān)技術(shù)與基本知識,然后闡述本軟件的功能,再具體分析各個模塊的功能及具體實現(xiàn)方法。














第一章 概述

1.1 本課題研究的意義
21世紀(jì)是信息的時代,隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,信息在傳遞方面也有了嶄新的一頁。現(xiàn)今聊天軟件成為信息傳遞最為廣泛的應(yīng)用工具,它發(fā)揮了即時性通信的特點,可以讓用戶在第一時間內(nèi)得到信息的交流。人性化的設(shè)計讓每個用戶都可以得心應(yīng)手的使用,從而獲得更多人的青睞。Internet的出現(xiàn)連通了整個世界,而聊天軟件的出現(xiàn)則連通了每一位網(wǎng)上的用戶。隨著網(wǎng)絡(luò)應(yīng)用的發(fā)展,聊天軟件已經(jīng)成為最熱門的網(wǎng)絡(luò)應(yīng)用之一。經(jīng)歷了近幾年突飛猛進的發(fā)展之后,即時通訊工具早已不再是簡單的互聯(lián)網(wǎng)通訊工具,它已經(jīng)成為一個集互動交流、休閑娛樂、信息管理為一體的多元化互聯(lián)網(wǎng)應(yīng)用平臺。
系統(tǒng)開發(fā)任務(wù)主要包括前臺界面設(shè)計和后臺數(shù)據(jù)庫管理的設(shè)計。將理論與實踐相結(jié)合,運用Visual Studio 2008開發(fā)工具,設(shè)計一個使用簡單,系統(tǒng)資源消耗少的完整的網(wǎng)絡(luò)聊天軟件系統(tǒng),可以給人們彼此之間的溝通帶來方便,并且通過聊天軟件建立深刻的友情,讓人們在互聯(lián)網(wǎng)上的交流更加充滿活力與生機。
1.2 國內(nèi)外的發(fā)展現(xiàn)狀
1996年11月ICQ在全球發(fā)布,拉開了互聯(lián)網(wǎng)IM(Instant Messenger,即時通訊)應(yīng)用的序幕。就是這樣一款小軟件在短短數(shù)年時間里發(fā)展出一個巨大的IM產(chǎn)業(yè)。
時至今日,即時性通訊工具早已成為最熱門的網(wǎng)絡(luò)應(yīng)用之一。國內(nèi)外的聊天工具舉不勝數(shù)。ICQ作為全球第一款即時性通訊工具,在經(jīng)過短短數(shù)年的發(fā)展,其行業(yè)內(nèi)的地位如今已是無人能夠撼動。ICQ名字取自英文“I seek you”的諧音,即是“我找你”的意思。最初的ICQ只有兩個特性,即用戶列表和即時聊天。但一經(jīng)推出就受到眾多網(wǎng)民的喜愛,6個月內(nèi)其注冊用戶迅速攀升至85萬,1998年它的用戶數(shù)量更是翻了10數(shù)倍,達到了1200萬人。ICQ的迅猛發(fā)展也讓當(dāng)時的互聯(lián)網(wǎng)領(lǐng)頭羊Yahoo和在桌面軟件領(lǐng)域獨步天下的微軟嗅到了商機,它們分別推出了Yahoo Messenger、MSN Messenger和曇花一現(xiàn)的MS Chat。即時通訊市場雛形頓顯,有了國際互聯(lián)網(wǎng)巨頭和最大軟件公司的融入,即時通訊時代的大幕就此徐徐拉開。
當(dāng)ICQ風(fēng)行全球的時候,在國內(nèi)各種仿ICQ的中文IM軟件也紛紛推出,時至今日,占據(jù)國內(nèi)的市場的主要是騰訊公司的QQ、微軟的MSN、雅虎的雅虎通等。其中騰訊公司的QQ以占據(jù)了國內(nèi)70%以上的市場。
隨著IM應(yīng)用的深入,其功能早已超越了初期的即時文字聊天。表情圖標(biāo)早已成為各個IM軟件的標(biāo)準(zhǔn)功能,文件傳輸、語音/視頻聊天、游戲、網(wǎng)上交友等高級功能也正越來越多地被集成進入IM應(yīng)用。事實表明,現(xiàn)在的IM已不再是一個簡單的溝通工具,而是一個信息資訊、交流互動、休閑娛樂中心,IM平臺上的語音、視頻點播、信息共享等新應(yīng)用層出不窮。發(fā)展到現(xiàn)在,IM軟件越來越成熟,IM產(chǎn)業(yè)鏈也已經(jīng)形成,已經(jīng)成為現(xiàn)代人和現(xiàn)代經(jīng)濟中不可或缺的一部份,相信未來IM軟件的道路會更加寬廣和精彩。
1.3 聊天工具開發(fā)的目標(biāo)
設(shè)計一個基于WINDOWS平臺的類似于QQ的即時聊天工具,實現(xiàn)局域網(wǎng)內(nèi)聊天與傳遞信息,工具簡單易用且占空間少。采用客戶機/服務(wù)器的架構(gòu)模式,由客戶端程序和服務(wù)器程序外加服務(wù)器端用于存放客戶數(shù)據(jù)的數(shù)據(jù)庫組成,使用.Net提供的Socket類以及.Net的多線程功能,在不同的端口上部署各類服務(wù),可以在單個程序中同時運行多個不同進程,而客戶端通過Socket發(fā)送信息給服務(wù)器,從而實現(xiàn)多點對多點的聊天。該軟件具有聊天軟件的一般功能,模塊排版整齊,能實現(xiàn)用戶登錄、用戶注冊、用戶資料修改、查詢添加好友、刪除好友、好友信息查詢、好友分組管理、好友分組修改移動、好友之間實現(xiàn)文字傳輸、設(shè)置聊天文本字體,并保證數(shù)據(jù)安全性和系統(tǒng)的可行性。



















第二章 開發(fā)平臺與相關(guān)技術(shù)簡介

2.1 程序開發(fā)環(huán)境
系統(tǒng)開發(fā)平臺:Microsoft Visual Studio 2008
系統(tǒng)開發(fā)語言:C#
運行平臺:Window2000,Windows *p,Windows 7
運行環(huán)境:Microsoft .Net Framework 3.5
數(shù)據(jù)庫系統(tǒng):SQL Server 2005
2.2 C# 簡介
C#是微軟公司發(fā)布的一種面向?qū)ο蟮、運行于.NET Framework之上的高級程序設(shè)計語言。并定于在微軟職業(yè)開發(fā)者論壇(PDC)上登臺亮相。C#是微軟公司研究員Anders Hejlsberg的最新成果。C#看起來與Java有著驚人的相似;它包括了諸如單一繼承、接口、與Java幾乎同樣的語法和編譯成中間代碼再運行的過程。但是C#與Java有著明顯的不同,它借鑒了Delphi的一個特點,與COM(組件對象模型)是直接集成的,而且它是微軟公司 .NET windows網(wǎng)絡(luò)框架的主角。
C#是一種安全的、穩(wěn)定的、簡單的、優(yōu)雅的,由C和c++衍生出來的面向?qū)ο蟮木幊陶Z言。它在繼承C和C++強大功能的同時去掉了一些它們的復(fù)雜特性(例如沒有宏以及不允許多重繼承)。C#綜合了vb簡單的可視化操作和C++的高運行效率,以其強大的操作能力、優(yōu)雅的語法風(fēng)格、創(chuàng)新的語言特性和便捷的面向組件編程的支持成為.NET開發(fā)的首選語言。
2.3 MicroSoft .NET Framework 簡介
Microsoft .NET Framework是用于Windows的新托管代碼編程模型。它強大功能與新技術(shù)結(jié)合起來,用于構(gòu)建具有視覺上引人注目的用戶體驗的應(yīng)用程序,實現(xiàn)跨技術(shù)邊界的無縫通信,并且能支持各種業(yè)務(wù)流程。
在今天的軟件環(huán)境中,應(yīng)用程序的來源很多,它們執(zhí)行很多任務(wù)。對應(yīng)用程序代碼的信任是一個主要需求,因為我們誰也不想軟件或信息遭到破壞。給予許可的安全策略不會允許對敏感信息的不適當(dāng)?shù)脑L問,或?qū)⒈镜貦C器暴露給惡意的程序或甚至是有平常錯誤的代碼。
過去,安全結(jié)構(gòu)提供了基于用戶帳號的隔離和訪問控制--在這些限制內(nèi)給予代碼完全訪問權(quán),并假定由特定用戶可運行的代碼具有相同的信任度。不幸的是,如果所有程序都代表某用戶運行,根據(jù)用戶對代碼的隔離對于保護一個程序不被其它用戶使用是不夠的。另一種情況,不能被完全信任的代碼經(jīng)常被轉(zhuǎn)移到"沙箱"模型中執(zhí)行,在此代碼運行于隔離環(huán)境,而不會訪問大部分的服務(wù)。
對今天應(yīng)用的成功的安全解決方案必須能強化兩個安全模型間的平衡。它必須提供對資源的訪問,以便以完成有用的工作,它需要對應(yīng)用程序的安全性作細致的控制以確保代碼被識別,檢測,并給予合適的安全級別。.NET Framework就提供了一個這樣的安全模型。
2.4 .NET 與多線程技術(shù)
多線程是為了使得多個線程并行的工作以完成多項任務(wù),以提高系統(tǒng)的效率,并且避免因耗時較長的工作線程的等待導(dǎo)致UI線程阻塞。線程是在同一時間需要完成多項任務(wù)的時候被實現(xiàn)的。
多線程機制使應(yīng)用程序能夠并行執(zhí)行,而且同步機制保證了對共享數(shù)據(jù)的正確操作。通過使用多線程,程序設(shè)計者可以分別用不同的線程完成特定的行為,而不需要采用全局的事件循環(huán)機制,這樣就很容易地實現(xiàn)網(wǎng)絡(luò)上的實時交互行為
在本質(zhì)上和結(jié)構(gòu)來說,.NET是一個多線程的環(huán)境。有兩種主要的多線程方法是.NET所提倡的:使用ThreadStart來開始你自己的進程,直接的 (使用ThreadPool.QueueUserWorkItem)或者間接的(比如Stream.BeginRead,或者調(diào)用 BeginInvoke)使用ThreadPool類。線程的基類是System.Threading。所有線程通過CLI來進行管理。
2.5 C/S結(jié)構(gòu)與WINDOWS SOCKETS網(wǎng)絡(luò)編 ……(未完,全文共26438字,當(dāng)前僅顯示4755字,請閱讀下面提示信息。收藏《網(wǎng)絡(luò)聊天工具的設(shè)計與開發(fā)》
文章搜索
相關(guān)文章