網(wǎng)絡(luò)聊天工具論文_第1頁(yè)
網(wǎng)絡(luò)聊天工具論文_第2頁(yè)
網(wǎng)絡(luò)聊天工具論文_第3頁(yè)
網(wǎng)絡(luò)聊天工具論文_第4頁(yè)
網(wǎng)絡(luò)聊天工具論文_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 PAGE44 / NUMPAGES40 08屆畢業(yè)(設(shè)計(jì))論文題 目 網(wǎng)絡(luò)聊天工具專(zhuān)業(yè)班級(jí) 信息與計(jì)算科學(xué)學(xué) 號(hào) 0809030123學(xué)生某 許某指導(dǎo)教師 李圓媛指導(dǎo)教師職稱 講師學(xué)院名稱 理學(xué)院完成日期: 2012 年 5 月 30日網(wǎng)絡(luò)聊天工具Chat Tool學(xué)生某 許某(QQ:1012264872)指導(dǎo)教師 李圓媛摘 要當(dāng)今,互聯(lián)網(wǎng)發(fā)達(dá),隨著中國(guó)網(wǎng)名數(shù)量一躍成為世界第一,通過(guò)網(wǎng)絡(luò)的信息交流變得日益流行,除去傳統(tǒng)的、報(bào)文等通信手段,即時(shí)聊天已經(jīng)變得喜聞樂(lè)見(jiàn)了,不僅因?yàn)椴皇杖∪魏钨M(fèi)用,而且能夠?qū)崿F(xiàn)快速的信息交換,增添聊天樂(lè)趣,如添加表情等,極大豐富了即時(shí)聊天的功能,使得即時(shí)聊天已經(jīng)成為當(dāng)

2、下頗受親睞的通信手段.當(dāng)前是數(shù)字信息時(shí)代,網(wǎng)絡(luò)時(shí)代,任何一種編輯工具都不能忽視在網(wǎng)絡(luò)上的應(yīng)用,聊天工具適用于網(wǎng)上會(huì)議或閑聊的一些場(chǎng)合。聊天工具為網(wǎng)友提供了較好的交友環(huán)境, 網(wǎng)友之間相互以文字交談,在形式上有點(diǎn)類(lèi)似筆友的性質(zhì),卻大大節(jié)省了書(shū)信往返的時(shí) 間,這也是網(wǎng)上交友之所以如此熱門(mén)的原因。本課題用VB語(yǔ)言實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn),點(diǎn)對(duì)多的即時(shí)聊天,單用戶通過(guò)添加好友后,可以與不同的好友進(jìn)行聊天,從而實(shí)現(xiàn)多用戶間的通信.為了豐富聊天的樂(lè)趣,實(shí)現(xiàn)了發(fā)送表情的功能。關(guān)鍵詞:聊天工具;VB;數(shù)字信息時(shí)代AbstractToday, the Internet is developed, With Chinas Int

3、ernet users had bee the first in the world, through the network information exchange has bee increasingly popular. In addition to the traditional telephone, message and other munications means, instant chat has bee popular.Not only because it is free , but also it can achieve rapid information excha

4、nge and add chating happiness, such as expressions,it enriched chat function instantl,add chat fun, such as adding expression, enrich the function of instant chat function, make instant chat has bee a closing munication means at present .The current is the age of digital information and the network

5、era .Chat tools provide a good environment to make friends for users , net friends talk to each other with words, is similar to the nature of the pen Pal in terms of form, but it saves much time used by backing and forthing between the letters , this is also the reason why it is so popular making fr

6、iends online .This topic achieves point-to-point and point to more instant chat by VB language , single user through the add buddy, can chat with different friends , so that it realizes the munications between the more users. In order to enrich the of fun chat , it realizes the function of sending e

7、xpression.Key words: chat tools; VB; the age of digital information目 錄TOC o 1-3 h z uHYPERLINK l _Toc326532461摘要1HYPERLINK l _Toc326532462Abstract2HYPERLINK l _Toc326532463第一章需求分析3HYPERLINK l _Toc3265324641.1課題背景及意義3HYPERLINK l _Toc3265324651.2設(shè)計(jì)目標(biāo)4HYPERLINK l _Toc3265324661.3設(shè)計(jì)要求4HYPERLINK l _Toc32

8、65324671.4可行性分析5HYPERLINK l _Toc326532468第一章相關(guān)知識(shí)7HYPERLINK l _Toc3265324692.1實(shí)驗(yàn)工具介紹7HYPERLINK l _Toc3265324702.1.1 AppServ集成工具7HYPERLINK l _Toc3265324712.1.2 MySQL數(shù)據(jù)庫(kù)7HYPERLINK l _Toc3265324722.1.3 AppServ集成工具7HYPERLINK l _Toc3265324732.2 Windows Sockets 規(guī)X7HYPERLINK l _Toc3265324742.3即時(shí)聊天工具簡(jiǎn)介6HYPER

9、LINK l _Toc3265324752.4 C/S架構(gòu)簡(jiǎn)介 PAGEREF _Toc326532475 h 12HYPERLINK l _Toc326532476第三章總體設(shè)計(jì)15HYPERLINK l _Toc3265324773.1 結(jié)構(gòu)流程15HYPERLINK l _Toc3265324783.1.1客戶端15HYPERLINK l _Toc3265324793.1.2服務(wù)器16HYPERLINK l _Toc3265324803.2數(shù)據(jù)庫(kù)建立16HYPERLINK l _Toc3265324813.3代碼設(shè)計(jì)原理16HYPERLINK l _Toc326532482第四章結(jié)果分析

10、18HYPERLINK l _Toc3265324834.1 服務(wù)器端運(yùn)行18HYPERLINK l _Toc3265324844.2 客戶端運(yùn)行18HYPERLINK l _Toc326532485總結(jié)38HYPERLINK l _Toc326532486致謝39HYPERLINK l _Toc326532487參考文獻(xiàn)41HYPERLINK l _Toc326532488附錄42第一章 需求分析1.1課題背景及意義當(dāng)今世界正處于信息時(shí)代,計(jì)算機(jī)和通信網(wǎng)絡(luò)是這一時(shí)代所謂信息基礎(chǔ)設(shè)施 . 在互聯(lián)網(wǎng)相當(dāng)普及的今天,在互聯(lián)網(wǎng)上聊天對(duì)很多網(wǎng)蟲(chóng)來(lái)說(shuō)已經(jīng)是家常便飯了.聊 天室程序可以說(shuō)是網(wǎng)上最簡(jiǎn)單的多點(diǎn)

11、通信程序.一個(gè)簡(jiǎn)單的聊天室, 從程序員的觀點(diǎn)來(lái) 看就是在多個(gè) I/O 端點(diǎn)之間實(shí)現(xiàn)多對(duì)多的通信.基于 SOCKET 的局域網(wǎng)通信是一種靈活 的,易于實(shí)現(xiàn)的,低成本的方法.它可以運(yùn)行在各種使用 TCP/IP 協(xié)議作為通訊協(xié)議的 網(wǎng)絡(luò)上.而在 SOCKET API 的幫助下,開(kāi)發(fā)基于 SOCKET 的局域網(wǎng)通信軟件也是易于實(shí)現(xiàn)的.1.2設(shè)計(jì)目標(biāo)目的在于實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多的即時(shí)聊天,適用于局域網(wǎng)的交流工具。本設(shè)計(jì)的主要工作是設(shè)計(jì)一個(gè)基于 WINDOWS 平臺(tái)的局域網(wǎng)即時(shí)聊天工具,具體是采用 CS 模式實(shí)現(xiàn)用戶之間的通信,然后闡述本軟件的功能、特點(diǎn)及使用方法,并詳細(xì)闡述開(kāi)發(fā) 本軟件所用的相關(guān)技術(shù),具體

12、分析本軟件的各個(gè)模塊的功能及實(shí)現(xiàn)方法,說(shuō)明本軟件的設(shè)計(jì) 思想及方法。 局域網(wǎng)聊天工具,是在局域網(wǎng)內(nèi)部使用的,用戶之間用來(lái)交流的一個(gè)工具,一般都具有 文本聊天和文件傳輸功能。局域網(wǎng)聊天軟件因其使用簡(jiǎn)單,系統(tǒng)資源消耗少等優(yōu)點(diǎn),成為各 企事業(yè)單位等的局域網(wǎng)內(nèi)廣泛應(yīng)用的軟件之一。C/S 結(jié)構(gòu)與 WINDOWS SOCKETS 網(wǎng)絡(luò)編程 通常的通信工具,都采用客戶機(jī)/服務(wù)器(C/S)體系結(jié)構(gòu),C/S 結(jié)構(gòu)是這樣的一種結(jié)構(gòu): 它包括客戶機(jī),一個(gè)服務(wù)器,客戶機(jī)的作用是訪問(wèn)和處理遠(yuǎn)程服務(wù)器上的數(shù)據(jù),服務(wù)器的作用 是接收和處理客戶機(jī)的數(shù)據(jù)請(qǐng)求。Client/Server 結(jié)構(gòu)是當(dāng)前數(shù)據(jù)庫(kù)應(yīng)用程序中極為流行的 一

13、種方式。尤其是網(wǎng)絡(luò)技術(shù)的發(fā)展,使得當(dāng)前很多系統(tǒng)都采用這種方式進(jìn)行構(gòu)造,其最大的優(yōu) 點(diǎn)是將計(jì)算機(jī)工作任務(wù)分別由客戶端和服務(wù)器端來(lái)共同完成,這樣有利于充分合理的利用。本畢業(yè)設(shè)計(jì)的目的主要是為了滿足人們通訊交流 的便捷,實(shí)現(xiàn)靈活、全面的語(yǔ)音、視頻信息的傳遞和服務(wù)。模擬騰訊公司的 QQ 聊天軟 件,開(kāi)發(fā)一個(gè)多功能的聊天系統(tǒng)軟件,本畢業(yè)設(shè)計(jì)主要實(shí)現(xiàn)文字聊天功 能。1.3設(shè)計(jì)要求總體要求:在外網(wǎng)成功實(shí)現(xiàn)了多人聊天,具體功能:1、注冊(cè)、登陸 2、設(shè)置密保、修改密碼3、查詢好友、添加好友(包括在線添加,離線添加)4、查看資料、發(fā)起會(huì)話(可以發(fā)送表情,選擇字體,加載離線消息) 5、添加斷線重連功能,使得客戶端在

14、意外斷線后,重連服務(wù)器6、在外網(wǎng)采用的是動(dòng)態(tài)域名解析,不是提供固定IP,客戶端每次打開(kāi),是根據(jù)域名進(jìn)行IP解析,然后在連接服務(wù)器,使得一臺(tái)聯(lián)網(wǎng)主機(jī)都可以做服務(wù)器。7、客戶端定時(shí)發(fā)送心跳包,證明自己在線,服務(wù)器定時(shí)刷新在線狀態(tài)1.4可行性分析本設(shè)計(jì)主要解決在客戶端于客戶端的信息交換和客戶端于服務(wù)器的信息交換及服務(wù)器的信息處理上的管理的設(shè)計(jì),此程序主要分為兩部分:服務(wù)器端和客戶端.服務(wù)器端用于提供一個(gè)網(wǎng)絡(luò)端口,等待客戶端發(fā)出請(qǐng)求,登錄到此服務(wù)端,然后進(jìn)行網(wǎng)絡(luò)通訊和消息的轉(zhuǎn)發(fā)??蛻舳丝赏ㄟ^(guò)服務(wù)器端綁定服務(wù)的域名解析出服務(wù)器的IP地址,然后根據(jù)服務(wù)器IP和端口發(fā)送連接請(qǐng)求,然后登陸聊天界面,此后可以選

15、擇添友,并可以和好友發(fā)起會(huì)話等功能,在好友聊天中,此時(shí)服務(wù)器端作為一個(gè)轉(zhuǎn)發(fā)站,進(jìn)行消息的轉(zhuǎn)發(fā),從而實(shí)現(xiàn)聊天消息的的發(fā)送和接收經(jīng)濟(jì)可行性:由于本系統(tǒng)的主要背景是畢業(yè)課程設(shè)計(jì),不注重直接的經(jīng)濟(jì)效 益和其后的發(fā)展方向,只在注重自身水平和能力的提高,對(duì)自身的經(jīng)濟(jì)要求也不 高,只要有一臺(tái)能運(yùn)行 VB 軟件的電腦便可,所以不用考慮到經(jīng)濟(jì)問(wèn)題。 技術(shù)可行性: 本系統(tǒng)的開(kāi)發(fā)利用 Mysql 作為本系統(tǒng)的 數(shù)據(jù)庫(kù),它是一個(gè)支持多用戶的新型數(shù)據(jù)庫(kù),適用于中型規(guī)模的數(shù)據(jù)量需求。 學(xué)校校圓網(wǎng)的建設(shè)也為新系統(tǒng)服務(wù)器/客戶端的結(jié)構(gòu)提供了硬件的支持。使用 VB 作為系統(tǒng)開(kāi)發(fā)的開(kāi)發(fā)環(huán)境,它提供完善的指令控制語(yǔ)句、類(lèi)與對(duì)象的支

16、持及豐富 的數(shù)據(jù)類(lèi)型,給開(kāi)發(fā)高性能系統(tǒng)提供的保障為開(kāi)發(fā)滿足客戶要求的系統(tǒng),保證了 代碼的模塊化要求,而代碼模塊化的提高,非常有利于以后對(duì)新系統(tǒng)的擴(kuò)展與修 改。 運(yùn)行可行性: 本系統(tǒng)為一個(gè)小型的局域網(wǎng)聊天系統(tǒng),所耗費(fèi)的資源非常的小, 現(xiàn)在一般的電腦無(wú)論是硬件還是軟件都能夠滿足條件,因此,本系統(tǒng)在運(yùn)行上是 可行的。 綜上所述,本系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)在技術(shù)上和硬件設(shè)備上的條件都是滿足的, 因此,它在技術(shù)上是可行的。實(shí)用性:為局域網(wǎng)聊天提供方便,有效進(jìn)行作業(yè)管理。 操作簡(jiǎn)單: 本系統(tǒng)應(yīng)該適用于不同水平的使用者, 包括事業(yè)單位和企業(yè)單位, 同時(shí)系統(tǒng)不應(yīng)太復(fù)雜和煩瑣,因此要求系統(tǒng)的操作盡可能簡(jiǎn)單易行。 技術(shù)先

17、進(jìn):產(chǎn)品的系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)應(yīng)緊跟著整個(gè)計(jì)算機(jī)發(fā)展潮流,采用當(dāng)時(shí) 最先進(jìn)的設(shè)計(jì)思想,利用最新的開(kāi)發(fā)技術(shù)和開(kāi)發(fā)工具。使系統(tǒng)能夠無(wú)論在功能設(shè) 計(jì)上,還是在技術(shù)實(shí)現(xiàn)上,都處于同行業(yè)的領(lǐng)先地位。 安裝使用簡(jiǎn)便:服務(wù)器端的安裝簡(jiǎn)潔明了,客戶機(jī)無(wú)需再裝任何軟件就可以 直接注冊(cè)登陸聊天。 適應(yīng)性:應(yīng)該能廣泛應(yīng)用于不同類(lèi)型的企事業(yè)單位。系統(tǒng)采用模塊化設(shè)計(jì), 用戶可以根據(jù)自己的實(shí)際情況自行組合, 使系統(tǒng)在不同的硬件環(huán)境下都能得以應(yīng) 用。 代碼可讀性好:文中的代碼將盡可能簡(jiǎn)潔,易懂。第一章 相關(guān)知識(shí)2.1實(shí)驗(yàn)工具介紹2.1.1AppServ集成工具Visual Basic是一種由微軟公司開(kāi)發(fā)的包含協(xié)助開(kāi)發(fā)環(huán)境的事件驅(qū)

18、動(dòng)編程語(yǔ)言。從任何標(biāo)準(zhǔn)來(lái)說(shuō),VB都是世界上使用人數(shù)最多的語(yǔ)言不僅是盛贊VB的開(kāi)發(fā)者還是抱怨VB的開(kāi)發(fā)者的數(shù)量。它源自于BASIC編程語(yǔ)言。VB擁有圖形用戶界面(GUI)和快速應(yīng)用程序開(kāi)發(fā)(RAD)系統(tǒng),可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫(kù),或者輕松的創(chuàng)建ActiveX控件。程序員可以輕松的使用VB提供的組件快速建立一個(gè)應(yīng)用程序。2.1.2MySQL數(shù)據(jù)庫(kù)MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典MySQL AB公司。在2008年1月16號(hào)被Sun公司收購(gòu)。而2009年,SUN又被Oracle收購(gòu)。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是

19、將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi)。這樣就增加了速度并提高了靈活性。MySQL的SQL“ HYPERLINK baike.baidu./view/595350.htm t _blank 結(jié)構(gòu)化查詢語(yǔ)言”。SQL是用于訪問(wèn)數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言。MySQL軟件采用了GPL( HYPERLINK baike.baidu./view/20301.htm t _blank GNU通用公共許可證)。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型為了降低總體擁有成本而選擇了MySQL作為數(shù)據(jù)庫(kù)。2.1.3 AppServ集成工具AppServ 是 PHP 網(wǎng)頁(yè)架站工具組合包,作者將一些

20、網(wǎng)絡(luò)上免費(fèi)的架站資源重新包裝成單一的安裝程序,以方便初學(xué)者快速完成架站,AppServ 所包含的 HYPERLINK baike.baidu./view/37.htm t _blank 軟件有:Apache、Apache Monitor、PHP、MySQL、phpMyAdmin等。為幫助大家能夠迅速的在本地試用EcShop軟件,我們編寫(xiě)如下文檔。如果您的本地機(jī)器沒(méi)有安裝過(guò)php、mysql等系統(tǒng),那么用這個(gè)軟件則可以讓你迅速搭建完整的底層環(huán)境,從而實(shí)現(xiàn)對(duì)EcShop的快速試用。第三章 總體設(shè)計(jì)3.1 結(jié)構(gòu)流程3.1.1客戶端客戶端流程如下圖:3-1客 戶端根據(jù)域名解析服務(wù)器IP檢測(cè)是否聯(lián)網(wǎng)開(kāi)啟

21、 注冊(cè)設(shè)置密保找回密碼加載個(gè)人信息加載好友列表添加好友查找好友查看資料修改密碼 登陸提示離線消息定時(shí)更新客戶端時(shí)間離線對(duì)話消息離線信息處理消息開(kāi)啟斷線重播功能加載離線對(duì)話消息發(fā)起會(huì)話話打開(kāi)聊天界面圖:3-1 客戶端流程3.1.2服務(wù)器服務(wù)器流程如下圖:3-2服務(wù)器連接數(shù)據(jù)庫(kù)開(kāi)啟存入緩沖區(qū)端口偵聽(tīng)接收消息直接轉(zhuǎn)發(fā)處理后反饋定時(shí)處理消息圖:3-2 服務(wù)器流程3.2數(shù)據(jù)庫(kù)建立數(shù)據(jù)庫(kù)是用與存放用戶信息的倉(cāng)庫(kù),數(shù)據(jù)庫(kù)的設(shè)計(jì)必須能夠方便系統(tǒng)查找,尤其是在數(shù)據(jù)庫(kù)數(shù)據(jù)龐大時(shí)必須考慮查找數(shù)據(jù)的效率。建立datathreedb數(shù)據(jù)庫(kù),總共設(shè)創(chuàng)建了以下幾個(gè)表:注冊(cè)信息表:t_reg,用于保記錄注冊(cè)信息用戶密保表:t

22、_keyprotect ,記錄密保問(wèn)題用戶登錄表:t_tmp_online,記錄登陸信息好友表t_friend,記錄用戶的好友用戶暫存消息表:t_bufmsg,當(dāng)用戶離線是別人發(fā)消息給你,保存并消息的類(lèi)型用戶私人對(duì)話表:t_personmsg,保存離線是對(duì)話的信息用戶對(duì)話字體表:t_font,記錄某個(gè)用戶設(shè)置的字體3.3代碼設(shè)計(jì)原理利用C/S(服務(wù)器客服端)的信息傳送反饋方式。給每條發(fā)送或接收的操作信息(包括各種數(shù)據(jù)的修改顯示等等)賦予指令,以每條指令作為基準(zhǔn)進(jìn)行代碼編寫(xiě)。采用winsock控件對(duì)信息信息的接受和發(fā)送,建立winsock控件數(shù)組,用TCP作為網(wǎng)絡(luò)協(xié)議,每一個(gè)登錄用戶動(dòng)態(tài)的分配,

23、分配一個(gè)winsock控件數(shù)組的一個(gè)值,作為識(shí)別該用戶以及查找、發(fā)送、接收、修改與該用戶有關(guān)的信息的標(biāo)準(zhǔn)??蛻舳擞胢ake_msg函數(shù)發(fā)送消息,服務(wù)器接收發(fā)送來(lái)的數(shù)據(jù)存緩沖區(qū)的消息列,(緩沖區(qū)的大小可以更具負(fù)載調(diào)節(jié)),用check_msg函數(shù)對(duì)消息和發(fā)行進(jìn)行檢測(cè),合格的消息等候消息處理函數(shù)do_message按消息指令進(jìn)行做相應(yīng)處理,處理后消息列清空,等候下一消息的寫(xiě)入。這形成一個(gè)接收消息、存入消息、判斷消息、處理消息、清空消息、再接收消息、再寫(xiě)入消息的循環(huán)模式。在處理消息階段,按自定義消息的格式以各自的方式(及對(duì)應(yīng)模塊中的功能函數(shù))對(duì)消息處理,消息處理過(guò)程中,需要修改數(shù)據(jù)庫(kù)或者結(jié)構(gòu)體某息就進(jìn)

24、行修改。完成后進(jìn)行編譯生成可執(zhí)行文件,服務(wù)器放在自己的主機(jī),客戶端發(fā)配到網(wǎng)上。網(wǎng)絡(luò)上的任何一臺(tái)計(jì)算機(jī)都可以連接到服務(wù)器,運(yùn)行客客戶端后,先注冊(cè)賬號(hào),然后登錄, 登陸后查找好友,并添加,得到別人的同意之后,就添加好友成功,將信息顯示在好友列表框中,然后就可以聊天,如果好友不在線,則將發(fā)送離線消息,將消息存在服務(wù)器,當(dāng)對(duì)方上線后,再將你發(fā)的給他消息的信息顯示給他,他就可以收到離線消息了,如果好友在線,則可以直接進(jìn)行對(duì)話。聊天系統(tǒng)的設(shè)計(jì)跟普通設(shè)計(jì)有著許多不同的地方, 普通設(shè)計(jì)所考慮 的因素,例如,普通需要對(duì)布局進(jìn)入大量美化以及動(dòng)畫(huà)設(shè)計(jì)等等,而聊天室 只要提供滿足訪客雙方直接實(shí)時(shí)聊天即可。因此,在設(shè)計(jì)

25、聊天系統(tǒng)的過(guò)程中,必 須要考慮好以下幾個(gè)設(shè)計(jì)要點(diǎn): 在 Internet 上的聊天程序一般都是以服務(wù)器提供服務(wù)端連接響應(yīng), 使用者通 過(guò)客戶端程序登錄到服務(wù)器,就可以與登錄在同一服務(wù)器上的用戶交談,這是一 個(gè)面向連接的通信過(guò)程。因此,程序要在 TCP/IP 環(huán)境下,實(shí)現(xiàn)服務(wù)器端和客戶 端兩部分程序。第四章 結(jié)果分析4.1 服務(wù)器端運(yùn)行1開(kāi)啟服務(wù)器,連接數(shù)據(jù)庫(kù),并進(jìn)行端口偵聽(tīng)如圖:4-1如圖:4-1 開(kāi)啟服務(wù)器4.2 客戶端運(yùn)行 1客戶端開(kāi)啟,開(kāi)啟后自動(dòng)進(jìn)行域名解析,如圖:4-2本次服務(wù)器IP地址為111.173.64.33圖:4-2 服務(wù)器開(kāi)啟2注冊(cè)用戶,如圖:4-3 當(dāng)前注冊(cè)賬號(hào)為1047圖

26、:4-3 注冊(cè)賬號(hào)3注設(shè)置密保,如圖:4-4,密保問(wèn)題自行選擇如圖:4-4設(shè)置密保4確認(rèn)密保,如圖:4-5 如圖:4-5確認(rèn)密保5注冊(cè)玩用戶,返回登錄界面如圖:4-6確認(rèn)密保6忘記密碼,可以選擇找回密碼,如圖:4-6確認(rèn)密保找回密碼會(huì)提示輸入密保問(wèn)題答案如圖:4-7輸入密保問(wèn)題答案7密碼修改成功,如圖:4-8圖:4-8 密碼修改成功8登陸后進(jìn)入客戶端主界面,如圖:4-9圖:4-9 登陸后主界面9登陸后查找好友如圖:4-10,查詢結(jié)果如圖:4-11,此時(shí)可以選擇添加好友或者查看資料圖:4-10查找好友圖:4-11查詢結(jié)果10如果1001不在線,當(dāng)他登陸后將會(huì)收到1047添加好友的消息,可以選擇拒

27、絕,同意,忽略 查看資料 如圖:4-12,如果1001在線,這直接將請(qǐng)求發(fā)送給他,如圖4-13如圖:4-12 登陸后接受添加好友消息圖:4-13 已經(jīng)登錄直接接受添加好友消息11接受添加好友后,如圖4-14,將好友顯示在好友列表框圖:4-14 好友顯示在好友列表框12發(fā)起會(huì)話,或查看資料,如圖4-15 ,開(kāi)始聊天界面如圖4-16,查看資料結(jié)果如圖4-17圖:4-15 發(fā)起會(huì)發(fā)或查看資料圖:4-16對(duì)話界面圖:4-17查看資料結(jié)果13開(kāi)始進(jìn)行對(duì)話 1047給1001發(fā)送消息如圖4-18圖4-18 給1001發(fā)送消息141001將接受消息,提示1047發(fā)送消息了如圖4-19;1001打開(kāi)對(duì)話框開(kāi)始

28、對(duì)話 ,如圖4-20圖4-19 提示1047發(fā)送消息了圖4-20 1001打開(kāi)對(duì)話框開(kāi)始對(duì)話15.開(kāi)始進(jìn)行聊天 如圖:4-21圖:4-21開(kāi)始進(jìn)行聊天16. 如果此時(shí)1047下線了如圖4-22,將發(fā)送離線消息給1047 ,當(dāng)1047下次登錄的時(shí)候便收到離線消息了圖4-22 1047下線了171047下次登錄后接受離線消息如圖4-23 打開(kāi)離線消如圖4-24。接著進(jìn)行對(duì)話如圖4-25 圖4-23 收到離線消息了圖:4-23 1047下次登錄圖:4-24 打開(kāi)離線消息圖4-25 接著進(jìn)行對(duì)話總結(jié)此次設(shè)計(jì)是我的一次大膽嘗試,自己當(dāng)時(shí)想的是能夠嘗試著寫(xiě)一樣像QQ的聊天工具,當(dāng)我卡是夠時(shí)候,慢慢的開(kāi)始完

29、善細(xì)節(jié),形成基本的一個(gè)大體框架,要實(shí)現(xiàn)什么功能,就要靠自己領(lǐng)悟,這樣很多不明白的地方就需要我自己摸索而在自己,摸索的過(guò)程中,發(fā)現(xiàn)一個(gè)問(wèn)題,解決一個(gè)問(wèn)題,不懂的問(wèn)題,查資料,所有問(wèn)題都是自己解決,這樣可能雖然慢一些,但是卻完完全全的鍛煉了自己的編程思維能力,和自我思考的能力,可以說(shuō)已經(jīng)形成了一個(gè)初步的編程體系,這個(gè)聊天程序,說(shuō)不上大型程序,但是究其代碼量來(lái)看,對(duì)于我來(lái)說(shuō)已經(jīng)是個(gè)很大突破了。這讓我對(duì)自己也有了一個(gè)較高的認(rèn)識(shí),增加了我在編寫(xiě)代碼方向上的自信,我會(huì)在以后繼續(xù)學(xué)習(xí),不斷加強(qiáng)自己。隨著通訊技術(shù)的普及和網(wǎng)絡(luò)的發(fā)展,社會(huì)上越來(lái)越重視信息交流的方便、及時(shí)和準(zhǔn) 確,借助網(wǎng)絡(luò)通訊軟件實(shí)現(xiàn)“點(diǎn)對(duì)點(diǎn)”的

30、網(wǎng)絡(luò)交流。由于信息量的無(wú)限擴(kuò)大,交通 工具的便捷,即時(shí)聊天技術(shù)的充分應(yīng)用已經(jīng)成為現(xiàn)代通訊必不可少的一項(xiàng)技術(shù)運(yùn)用?;诰?域網(wǎng)的聊天室系統(tǒng)可以跨越空間距離、靈活多樣的面對(duì)面的交互,適應(yīng)現(xiàn)代社會(huì)的方便、快捷、高效、快節(jié)奏。 在編寫(xiě)程序的過(guò)程中,我也遇到了很多的問(wèn)題。通過(guò)老師的指點(diǎn)和查閱資料等得到了解決,并圓滿完成了整個(gè)程序的開(kāi)發(fā)工作,同時(shí)積累了許多解決經(jīng)驗(yàn)。這次的畢業(yè)設(shè)計(jì)達(dá)到了預(yù)期的目的。通過(guò)這次畢業(yè)設(shè)計(jì),使我從理論到實(shí)踐邁出了堅(jiān)實(shí)的一步。在學(xué)習(xí)理論、分析和組織程序結(jié)構(gòu)以及具體的實(shí)現(xiàn)等整個(gè)過(guò)程中,我體會(huì)到了編寫(xiě)程序的酸、甜、苦、辣。要編寫(xiě)出一個(gè)好的程序,必須要有縝密的思維,謹(jǐn)慎的作風(fēng)和堅(jiān)忍不拔的毅

31、力。本次程序是我獨(dú)立開(kāi)發(fā),我這學(xué)過(guò)計(jì)算機(jī)網(wǎng)絡(luò)這門(mén)課,開(kāi)始不是很了解網(wǎng)絡(luò)內(nèi)層的一些問(wèn)題。這次設(shè)計(jì)我選了網(wǎng)絡(luò)聊天系統(tǒng),剛開(kāi)始我選這個(gè)題目是因?yàn)楦杏X(jué)上比 別的題目簡(jiǎn)單, 可能是天天接觸者 QQ 的原因吧, 但是開(kāi)始著手去做的時(shí)候才發(fā)現(xiàn)并不好做, 通過(guò)這幾周的努力,上網(wǎng)查資料、看書(shū)、看別人的成品等等.終于完成了我自己的任務(wù),我的服務(wù)器出來(lái)了。 通過(guò)這次的設(shè)計(jì)我發(fā)現(xiàn)原來(lái)網(wǎng)絡(luò)內(nèi)層是挺復(fù)雜的,連接啊、數(shù)據(jù)啊、傳送啊封裝啊等等。老實(shí)說(shuō),這個(gè)程序,我的確花費(fèi)了不少時(shí)間,有的時(shí)候?qū)懘a,調(diào)試到轉(zhuǎn)鐘幾點(diǎn)鐘,但是成果出來(lái)了,很多都是值得的,所以我也很欣慰。當(dāng)然,這個(gè)聊天工具,有很多需要完善的地方,要面面俱到,肯定需要

32、花時(shí)間而現(xiàn)在又很忙,所以等以后再有時(shí)間,再進(jìn)一步完善。致謝此次的程序,從思路上,是我根據(jù)要求的來(lái)進(jìn)行模型的構(gòu)造,模塊的定義,函數(shù)的設(shè)計(jì),及整個(gè)代碼的編寫(xiě)。但是,即便如此,我仍然要感謝給我?guī)椭耐瑢W(xué),在程序測(cè)試的過(guò)程中,很多同學(xué)在程序的可行性以及優(yōu)化方便給了一些的建議,我在這里向他們表示感謝。這次軟件開(kāi)發(fā)讓我學(xué)到了很多的知識(shí)。 知識(shí)只有轉(zhuǎn)變有實(shí)際而有用的東西才能顯現(xiàn)出它的價(jià)值。學(xué)習(xí)不只是學(xué)習(xí)理論知識(shí),更重要的是自己動(dòng)手操作的能力。在現(xiàn) 今的社會(huì)上,要想立足,就要有過(guò)硬的本領(lǐng),要有扎實(shí)的功底。 這個(gè)軟件工程的項(xiàng)目實(shí)戰(zhàn)讓我真真切切感受到軟件開(kāi)發(fā)的全過(guò) 程, 這讓我明白軟件的開(kāi)發(fā)是一門(mén)藝術(shù), 而不是代

33、碼的簡(jiǎn)單疊加。 這是一個(gè)團(tuán)體的凝聚力的體現(xiàn)。 通過(guò)這次開(kāi)發(fā), 我第一次深入的去思考一個(gè)軟件的構(gòu)成與實(shí) 現(xiàn),以前上網(wǎng)聊 QQ 的時(shí)候從來(lái)沒(méi)有想過(guò)如何實(shí)現(xiàn)它的功能,等 到讓自己來(lái)做的時(shí)候才發(fā)現(xiàn)其中的任何一環(huán)都是非常重要的。 在 實(shí)踐中,我也學(xué)到了很多編程方面的知識(shí)。整個(gè)論文工作是在老師的悉心指導(dǎo)下完成的,老師淵博的知識(shí)、嚴(yán)謹(jǐn)治學(xué)的態(tài)度、 實(shí)干創(chuàng)新的精神、豐富的實(shí)踐經(jīng)驗(yàn)和平易近人的為人給我留下了深刻的影響。在我做畢業(yè)論文過(guò)程中,他不斷的指導(dǎo)我學(xué)習(xí)方法,傳授我工作經(jīng)驗(yàn),使我受益匪淺,對(duì)順利完成本論文起到了極大的作用。在此向他表示我最衷心的感謝。論文初期,在老師的幫助下論文才得以很好的展開(kāi),有了一個(gè)很好

34、的開(kāi)端。在編寫(xiě)程序期間,老師幫我排除了許多困難,解決了問(wèn)題,也給了我許多的建議,使這個(gè)程序得以順利的完成。在論文的修 改上,不管是論文格式、內(nèi)容還是圖表的處理等,老師都細(xì)細(xì)幫助和指導(dǎo)。 在論文完成過(guò)程中,還得到了其他老師和許多同學(xué)的熱心幫助。程序的編程,調(diào)試 程序以及最后的測(cè)試都是在他們熱心的幫助下完成的。在這里,我向所有關(guān)心和幫助我 的人表示深深的謝意。 最后向在百忙之中評(píng)審本文的各位專(zhuān)家、老師表示衷心的感謝。此外我應(yīng)該感謝我的李老師,他給我講解了設(shè)計(jì)所用到的很多東西,包括服務(wù)器客戶端,傳輸信息的結(jié)構(gòu),建立緩沖區(qū),讓我編寫(xiě)代碼是必須考慮大實(shí)用性和可行性,這都讓我對(duì)設(shè)計(jì)有了一個(gè)比較明確的方向,

35、這讓我能夠一直的將代碼寫(xiě)完,而中途沒(méi)有走多少?gòu)澛?。此外有些自己一伙的?wèn)題,向他咨詢后,都能的得到一個(gè)完整滿意的答案,心里是挺感謝她的。因此,我在這里向他說(shuō)聲謝謝。參考文獻(xiàn)1 陳豫龍,何旭洪 Visual Basic 6.0數(shù)據(jù)庫(kù)開(kāi)發(fā)實(shí)例導(dǎo)航.人民郵電.2002年2 王珊,薩師煊數(shù)據(jù)庫(kù)系統(tǒng)概論.高等教育.2006年附錄MySql數(shù)據(jù)庫(kù)表建立:create database datathreedb; use datathreedb;/*用戶詳細(xì)信息庫(kù)*/drop table if exists t_reg;create table if not exists t_reg(autoid bigint

36、 AUTO_INCREMENT NOT NULL PRIMARY KEY,/*用戶數(shù)字id */ uname bigint NOT NULL UNIQUE key, /*用戶賬號(hào)名*/ nick char(16) NOT NULL, /*用戶呢稱*/ pwd char(32) NOT NULL,/*用戶密碼*/sex int not null default 0,/*性別 0男、1女*/ numface int not null default 0, /*頭像*/qq char(16) not null default -, /*QQ*/ yy char(16) not null defaul

37、t -, /*YY*/ vip int NOT NULL default 0, /*等級(jí)*/ coin int NOT NULL default 0, /*金幣*/ integral bigint NOT NULL default 0, /*積分*/ regtime TIMESTAMP /* 注冊(cè)時(shí)間*/ )ENGINE=MyISAM DEFAULT CHARSET=gb2312; /*臨時(shí)表 用戶密保表 */drop table if exists t_keyprotect;create table if not exists t_keyprotect(autoid bigint AUTO_

38、INCREMENT NOT NULL PRIMARY KEY, /*用戶數(shù)字id */ uname bigint NOT NULL UNIQUE key, /*用戶賬號(hào)名*/ que1 int not null default 0, /*密保問(wèn)題1*/ que2 int not null default 0, /*密保問(wèn)題2*/ que3 int not null default 0, /*密保問(wèn)題3*/ secque char(32) NOT NULL default -, /*密保*/ findcount int not null default 0 /*當(dāng)天找回密碼錯(cuò)誤次數(shù)*/ )ENG

39、INE=MyISAM DEFAULT CHARSET=gb2312;/*臨時(shí)表 用戶登錄表*/drop table if exists t_tmp_online;create table if not exists t_tmp_online(autoid bigint NOT NULL PRIMARY KEY, /*用戶數(shù)字id */ uname bigint NOT NULL UNIQUE key, /*用戶賬號(hào)名*/ token int not null default 0,/*令牌*/ip char(20) not null default -,/*登陸地址*/logintime TIM

40、ESTAMP, /*登陸時(shí)間*/state int not null default 0,/*狀態(tài)*0未登錄,1已登錄*/ logincount int not null default 0 /*當(dāng)天登陸密碼錯(cuò)誤次數(shù)*/ )ENGINE=MyISAM DEFAULT CHARSET=gb2312;/*好友表*/drop table if exists t_friend;create table if not exists t_friend( uname bigint NOT NULL, /*用戶賬號(hào)名*/ friend_name bigint NOT NULL, /*好友名字 */ frien

41、d_nick char(16) NOT NULL, /*好友昵稱 */ friend_face int not null default 0, /*好友頭像 */ friendremarks char(24) NOT NULL /*好友備注*/)ENGINE=MyISAM DEFAULT CHARSET=gb2312;/*用戶暫存消息表*/drop table if exists t_bufmsg;create table if not exists t_bufmsg( uname bigint NOT NULL, /*用戶賬號(hào)名*/ msg_name bigint NOT NULL, /*用友名字 */ msg_nick char(16) NOT N

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論