国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

網(wǎng)絡(luò)聊天系統(tǒng)設(shè)計(jì)與應(yīng)用

2014-03-17 00:49虞國(guó)全
中國(guó)教育網(wǎng)絡(luò) 2014年9期
關(guān)鍵詞:用戶名管理員頁(yè)面

文/虞國(guó)全

網(wǎng)絡(luò)聊天系統(tǒng)設(shè)計(jì)與應(yīng)用

文/虞國(guó)全

目前,計(jì)算機(jī)的發(fā)展離不開網(wǎng)絡(luò)這一方向,網(wǎng)絡(luò)將大大擴(kuò)展計(jì)算機(jī)的功能,研究計(jì)算機(jī)在網(wǎng)絡(luò)方面的技術(shù)以及應(yīng)用,挖掘計(jì)算機(jī)的網(wǎng)絡(luò)潛能,將能夠大大提高我們對(duì)計(jì)算機(jī)的本身的認(rèn)識(shí),同時(shí)也能加深對(duì)計(jì)算機(jī)網(wǎng)絡(luò)的認(rèn)識(shí)。根據(jù)當(dāng)前網(wǎng)絡(luò)的需求,網(wǎng)絡(luò)聊天越來(lái)越受各種網(wǎng)民青睞。因此開發(fā)網(wǎng)絡(luò)聊天是相當(dāng)有必要,而且在網(wǎng)站內(nèi)增加聊天功能,不僅可以提高網(wǎng)站的訪問(wèn)量,同時(shí)可以留著訪客,更重要的是讓訪客透過(guò)聊天室實(shí)時(shí)的互相交流。

本論文是從實(shí)際工程應(yīng)用角度出發(fā),以計(jì)算機(jī)網(wǎng)絡(luò)原理為指導(dǎo),結(jié)合當(dāng)前網(wǎng)絡(luò)中的一些常用技術(shù)開發(fā)了本聊天室工具,具有聊天室聊天、二人私聊、表情的應(yīng)用以及請(qǐng)離用戶的功能,主要對(duì)當(dāng)今聊天軟件的發(fā)展情況、與該聊天軟件相關(guān)的各種技術(shù)以及該聊天系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)做了一個(gè)詳細(xì)的闡述。

系統(tǒng)的關(guān)鍵技術(shù)

本聊天系統(tǒng)的開發(fā)主要用到了Socket通信,在此基礎(chǔ)上,實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)聊天、廣播聊天、一對(duì)多聊天,可以運(yùn)行于任何支持TCP/IP協(xié)議的機(jī)器上,用到了多線程的設(shè)計(jì),因此線程之間的同步是一大關(guān)鍵之處。由于系統(tǒng)采用C/S (Client/ Server)結(jié)構(gòu),客戶端與客戶端以及客戶端與服務(wù)器端需要傳送一些控制消息,因此系統(tǒng)需要自定義一些消息類型,這是該網(wǎng)絡(luò)聊天系統(tǒng)的又一大關(guān)鍵之處。

系統(tǒng)環(huán)境要求

1.硬件要求:安裝了網(wǎng)卡,并連入局域網(wǎng)。

2.軟件要求: Windows98以上的系統(tǒng);安裝了支持Socket通信的TCP/IP或者協(xié)議;JDK1.4以上版本。

系統(tǒng)分析

如今流行的聊天軟件功能已經(jīng)非常強(qiáng)大,基本上朝著三個(gè)大的方向發(fā)展,即個(gè)人及時(shí)通信,企業(yè)實(shí)時(shí)通信和娛樂(lè)資訊。它的功能主要有:

1.個(gè)人文本聊天;

2.個(gè)人語(yǔ)音聊天;

3.個(gè)人視頻聊天;

4.圖像傳輸;

5.文件傳輸;

6.在線游戲;

7.聊天室聊天;

8.隱身,上線;

9.群聊天;

10.企業(yè)級(jí)實(shí)時(shí)通信。

聊天軟件的發(fā)展方向是三維化,人性化,綜合化。

項(xiàng)目開發(fā)的主要內(nèi)容

設(shè)計(jì)并實(shí)現(xiàn)基于Socket的文本聊天程序包括廣播聊天,二人私聊。涉及的內(nèi)容包括用戶登錄,聊天方式的選擇,附帶表情,以及悄悄話選項(xiàng),管理員身份可以看到私聊的和內(nèi)容。由一個(gè)管理員運(yùn)行ChatRoomServer建立主機(jī)服務(wù)器,其他用戶運(yùn)行ChatRoomClient運(yùn)行客戶端,通過(guò)服務(wù)器的IP和設(shè)置的端口號(hào)與之建立連接。在服務(wù)器端可以顯示用戶登錄的信息,客戶端可以看見當(dāng)前在線用戶的人數(shù)和昵稱。在由于開發(fā)目的的原因,所以不采用登錄驗(yàn)證模式,只要輸入用戶昵稱即可登錄,對(duì)惡意刷屏或語(yǔ)言不禮貌者,管理員可以請(qǐng)離該用戶。

系統(tǒng)總體設(shè)計(jì)

該系統(tǒng)網(wǎng)站總體分為四大模塊,分別是:歡迎界面、管理員模塊、用戶管理模塊、聊天模塊。其中歡迎模塊就是開始的歡迎頁(yè)面,是全網(wǎng)站的首頁(yè),也是帶領(lǐng)用戶進(jìn)入本網(wǎng)站的向?qū)В渲邪M(jìn)入登錄界面和進(jìn)入注冊(cè)界面兩個(gè)鏈接。

管理員模塊是管理員進(jìn)行對(duì)網(wǎng)站的管理使用的模塊,有管理員登錄頁(yè)面、管理員管理頁(yè)面和管理員操作反饋?lái)?yè)面等組成,主要實(shí)現(xiàn)對(duì)已注冊(cè)用戶和在線用戶的管理,通過(guò)對(duì)用戶的了解確定用戶這冊(cè)身份的去與留。這主要通過(guò)管理員擁有的對(duì)數(shù)據(jù)庫(kù)操作的權(quán)限,從而決定是否從數(shù)據(jù)庫(kù)內(nèi)將用戶信息刪除以達(dá)到踢出用戶的功能。利用網(wǎng)站內(nèi)提供的JavaBean實(shí)現(xiàn)和數(shù)據(jù)庫(kù)連接,在管理員操作頁(yè)面內(nèi)設(shè)有動(dòng)態(tài)delete刪除SQL語(yǔ)句,通過(guò)語(yǔ)句連接數(shù)據(jù)庫(kù),通過(guò)獲取文本框內(nèi)管理員輸入的用戶名,設(shè)立相應(yīng)數(shù)據(jù)集,對(duì)應(yīng)數(shù)據(jù)庫(kù),首先執(zhí)行select選取操作以確定數(shù)據(jù)庫(kù)中是否有管理員輸入的用戶名,若錯(cuò)誤的用戶名則提示管理員錯(cuò)誤信息,若正確的用戶名則對(duì)數(shù)據(jù)庫(kù)執(zhí)行delete操作,刪除數(shù)據(jù)庫(kù)內(nèi)用戶的信息,從而達(dá)到刪除用戶的的功能。

圖1 用戶E-R關(guān)系

表1 用戶數(shù)據(jù)表屬性設(shè)計(jì)

用戶模塊主要包括用戶登錄和用戶注冊(cè)兩個(gè)單元,分別是用來(lái)給用戶登錄和用戶注冊(cè)使用的頁(yè)面。用戶的登錄可以使用已經(jīng)注冊(cè)的注冊(cè)用戶身份登錄,也可以使用游客身份進(jìn)行登錄。使用游客身份登錄是不需要注冊(cè)的,可以每次使用一個(gè)不同的名字,比較自由,但同時(shí)也難以在聊天室內(nèi)有個(gè)完整的虛擬形象,可以彌補(bǔ)此處就是使用注冊(cè)用戶身份,這樣便可以有一個(gè)固定的稱呼,可以更好地與聊友們交流。用戶的注冊(cè)單元是常規(guī)的注冊(cè),主要包含用戶名、密碼和聯(lián)系方式三項(xiàng),其中聯(lián)系方式是比較常用的E-mail聯(lián)系方式。注冊(cè)的成功與否會(huì)有相應(yīng)的提示。

圖2 服務(wù)器結(jié)構(gòu)流程

圖3 客戶端結(jié)構(gòu)流程

已注冊(cè)用戶的登錄實(shí)現(xiàn)主要通過(guò)將用戶的提交用戶名與數(shù)據(jù)庫(kù)中的對(duì)比,查找是否有該用戶名,使用動(dòng)態(tài)select選取SQL語(yǔ)句。如果數(shù)據(jù)庫(kù)內(nèi)沒(méi)有該用戶名,則該用戶顯然尚未注冊(cè),反饋相應(yīng)信息;如果有該用戶名則繼續(xù)對(duì)應(yīng)用戶提交的密碼與數(shù)據(jù)庫(kù)內(nèi)該用戶名項(xiàng)的密碼相對(duì)比,結(jié)構(gòu)則允許用戶登錄,并將頁(yè)面轉(zhuǎn)到聊天界面,否則提示相應(yīng)錯(cuò)誤信息。并同時(shí)將登錄成功的用戶的用戶名寫進(jìn)Application從而在聊天界面的用戶列表里能被顯示出來(lái)。游客的登錄則只要判別用戶沒(méi)有重復(fù),并合乎用戶的規(guī)范就可以登錄并轉(zhuǎn)到聊天界面了,這里沒(méi)有數(shù)據(jù)庫(kù)的操作。游客與已注冊(cè)用戶有著一樣的使用界面。

由于篇幅原因,部分?jǐn)?shù)據(jù)庫(kù)設(shè)計(jì)如下。

數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)

因?yàn)槊總€(gè)實(shí)體都必須轉(zhuǎn)化為一個(gè)關(guān)系模式,所以有三個(gè)關(guān)系模式,可以將上述E-R簡(jiǎn)化為如下關(guān)系模式:

用戶(號(hào)碼,昵稱,密碼,性別,頭像號(hào)碼,所在ip地址,在線狀態(tài),連接使用的端口號(hào),郵箱,籍貫)

好友(用戶號(hào)碼,好友號(hào)碼)

聊天記錄(發(fā)送方號(hào)碼,接收方號(hào)碼,發(fā)送時(shí)間,聊天內(nèi)容)

用戶E-R如圖1所示。

根據(jù)關(guān)系模式,可以得到三張表,其中用戶數(shù)據(jù)表的屬性設(shè)計(jì)見表1。

圖4 客戶端主頁(yè)面效果

客戶通過(guò)Socket(InetAddress,port)建立與服務(wù)器的連接。服務(wù)器與客戶都通過(guò)構(gòu)造ObjectInputStream,ObjectOutputStream來(lái)建立輸入輸出流,然后雙方通過(guò)該輸入輸出流來(lái)相互傳遞信息,一旦收到客戶方的連接請(qǐng)求,服務(wù)器accept()方法返回一個(gè)新建的Socket對(duì)象。客戶端然后向服務(wù)器發(fā)送消息,比如文件傳輸?shù)龋?wù)器收到來(lái)自客戶的請(qǐng)求后,針對(duì)不同的消息處理請(qǐng)求。如圖3所示。

最終主界面效果如圖4所示。

本系統(tǒng)是典型的C/S架構(gòu),它的優(yōu)點(diǎn)是大部分功能由服務(wù)器完成,客戶端簡(jiǎn)單易維護(hù),這樣做用戶就更為容易接受。并且占用的系統(tǒng)資源少,提高了性能。缺點(diǎn)是聊天的內(nèi)容沒(méi)有儲(chǔ)存,當(dāng)清屏以后就無(wú)法再看到以前的聊天記錄了。日后可以考慮增加日志的功能,把聊天記錄及一些用戶信息存儲(chǔ)在.txt文件或者數(shù)據(jù)庫(kù)中,使其有處可查。本聊天系統(tǒng)設(shè)計(jì)是為軟件開發(fā)人員在局域網(wǎng)中方便交流,減少成本,消除由于交流不同帶來(lái)的開發(fā)成本上升,可能部分模塊功能有所不全,對(duì)此本人會(huì)再加強(qiáng)設(shè)計(jì)以期全部完成實(shí)現(xiàn)。

(作者單位為南昌理工學(xué)院計(jì)算機(jī)系)

猜你喜歡
用戶名管理員頁(yè)面
《護(hù)士進(jìn)修雜志》投稿程序
刷新生活的頁(yè)面
我是小小午餐管理員
《護(hù)士進(jìn)修雜志》投稿程序
答案
我是圖書管理員
我是圖書管理員
讓W(xué)ord同時(shí)擁有橫向頁(yè)和縱向頁(yè)
可疑的管理員
《護(hù)士進(jìn)修雜志》投稿程序
兰坪| 涪陵区| 上饶县| 楚雄市| 涞水县| 吕梁市| 饶河县| 乌兰浩特市| 洮南市| 东光县| 广州市| 汶上县| 德安县| 新河县| 鹤峰县| 扎鲁特旗| 秦安县| 南溪县| 大连市| 许昌县| 犍为县| 博湖县| 绥中县| 尤溪县| 沂水县| 益阳市| 临夏市| 昆明市| 隆昌县| 万盛区| 屯昌县| 浦城县| 松原市| 宁河县| 那曲县| 卫辉市| 桓仁| 湘潭市| 西充县| 新竹县| 德化县|