姜 新
(營口職業(yè)技術(shù)學院,遼寧 營口115000)
現(xiàn)在即時通訊工具越來越發(fā)達,網(wǎng)上聊天已是人們生活中不可缺少的必需品,所以想開發(fā)一個聊天軟件,聊天軟件主要設(shè)計包含登錄模塊、注冊模塊、語音聊天模塊、視頻聊天模塊,并且較詳細的說明和分析了此聊天軟件系統(tǒng)的登錄模塊、注冊模塊、語音聊天、視頻聊天模塊的設(shè)計與實現(xiàn)。 通過此聊天系統(tǒng)的設(shè)計,能讓學生對程序設(shè)計語言有一個更清晰的認識,并能提高學生解決程序設(shè)計的能力。 對程序設(shè)計的熟練程度也能有一定的提高。多功能聊天系統(tǒng)的設(shè)計與實現(xiàn)的教學研究步驟歸納有以下幾點:
此聊天軟件系統(tǒng)采用的是客戶端與服務(wù)器端的結(jié)構(gòu)體系,用戶通過在客戶端輸入用戶信息,然后把這些信息提交該聊天軟件系統(tǒng)服務(wù)器端進行處理。 對于該聊天軟件系統(tǒng)服務(wù)器端主要完成的工作有:注冊、登錄、刷新、好友添加、接收信息等。注冊是用戶將注冊信息提交到服務(wù)器后,并將信息寫入到數(shù)據(jù)庫;登錄是把提交的信息通過服務(wù)器驗證后實現(xiàn)的相關(guān)服務(wù);刷新是即時地顯示用戶當前在服務(wù)器的信息情況;好友添加是需要添加好友時服務(wù)器對添加操作進行相關(guān)處理等操作。網(wǎng)上聊天的相關(guān)功能是用戶通過該聊天軟件系統(tǒng)的客戶端來實現(xiàn)的,例如:注冊、登錄、添加好友、文字聊天、文件傳輸、語音聊天、視頻聊天等。注冊所要完成的是用戶填好信息后提交并得到登錄到該聊天軟件系統(tǒng)的用戶的ID 號; 登錄功能是驗證提交的用戶信息以及使用該聊天軟件系統(tǒng)的權(quán)限;添加好友功能是完成用戶與用戶之間添加好友的操作;好友添加成功后,就可以進行文字聊天、文件傳輸、語音聊天、視頻聊天等功能。
首先開啟服務(wù)器,之后開始到登錄,每個用戶登錄之后會顯示出自己的好友以及所在的群,在你的好友里面你點擊的時候如果好友在線那么他就可以立刻收到你發(fā)過去的信息,如果不在線那么就會首先存儲起來之后在當還有上線之后在發(fā)送過去,在這其中你也可以對還有傳送文件,文件也是如上的原理。 該系統(tǒng)主要功能包括:建立QQ 的數(shù)據(jù)庫、開啟服務(wù)器、啟動服務(wù)器的日志管理、判斷用戶是否在線、根據(jù)用戶的在線的情況判斷接受信息的情況、用戶發(fā)送的信息的管理。
用到的工具有Java 語言、C/S 結(jié)構(gòu)、.NET 開發(fā)平臺、Oracle 數(shù)據(jù)庫。
此聊天軟件采用了客戶機和服務(wù)器結(jié)構(gòu),用戶要想使用這個聊天系統(tǒng)首先要進行注冊。 在注冊頁面, 必須填寫帶紅色標志的信息,按“提交”按鈕,將所填的信息提交給服務(wù)器,服務(wù)器將已填好的注冊信息提交給數(shù)據(jù)庫,注冊用戶會接收到服務(wù)器生成的一個登錄ID 號,這樣注冊就完成了。用戶就可以通過已經(jīng)注冊成功的用戶名和密碼進行登錄。這時你要與好友進行聊天,則必須添加好友:進行用戶2 添加用戶N 為好友的操作過程中, 用戶2 首先向用戶N 發(fā)出添加好友的請求信息,當用戶N 接受到用戶2 的信息,在通過驗證后會發(fā)送確認反饋信息給用戶2[1],并且向服務(wù)器提交好友添加確認信息,這時服務(wù)器就會更新相應用戶的好友列表中的信息。
用戶1 通過攝像頭進行視頻采集,經(jīng)過壓縮后,向用戶2 發(fā)送采集后的視頻數(shù)據(jù)。用戶2 接收到用戶1 發(fā)送的視頻數(shù)據(jù)并將其進行解壓,然后在用戶2 的采集窗口上播放,這樣視頻的傳輸就完成了。在進行視頻數(shù)據(jù)傳輸前,兩臺計算機必須先要建立連接,其原理和語音聊天建立連接的原理一致。 用戶1 向用戶2 發(fā)送視頻請求,用戶2 在接收到用戶1 的請求后,給用戶1 發(fā)送收到請求后的回應信息,如果同意用戶1 的請求則用戶1 與用戶2 開始視頻聊天,如果不同意就終止視頻聊天[2]。
注冊模塊的功能是可以讓用戶獲得使用該聊天軟件系統(tǒng)的權(quán)限,用戶可以通過注冊來獲得登錄時的用戶ID 號。 在使用聊天系統(tǒng)的時候首先要注冊,也就是單擊單擊登錄界面上的帳號申請按鈕,在接下來的網(wǎng)頁中填寫注冊本人的相關(guān)重要的信息,紅色的文字是必填的項目,填寫完后核對一下信息,按確定按鈕,對剛填入的注冊內(nèi)容要先通過服務(wù)器對其進行判斷,看所填入的信息是否符合要求,如果不符合,則顯示錯誤提示信息;如果正確,進行服務(wù)器連接。 連接不成功時,會提示錯誤信息;如果連接成功,注冊信息會通過服務(wù)器寫入數(shù)據(jù)庫中[3]。
用戶在注冊獲得ID 號碼后,在登錄界面填寫ID 號碼和密碼并提交給服務(wù)器,服務(wù)器通過用戶提交過來的信息和數(shù)據(jù)庫中原有的用戶信息進行比較和驗證,如果結(jié)果一致表明驗證成功,用戶進入到客戶端的系統(tǒng)界面下,如果不一致,給用戶返回登錄錯誤信息[4]程序調(diào)用相應函數(shù),彈出登錄界面,進行登錄操作。當用戶在登錄界面填寫完用戶ID 與密碼時,單擊登錄按鈕,通過函數(shù)與服務(wù)器連接,并進行異常處理。 如果連接失敗,提示錯誤信息;如果連接成功,通過調(diào)用函數(shù)將登錄信息發(fā)送到服務(wù)器端來進行相關(guān)驗證,如果登錄成功,那么從服務(wù)器端發(fā)送的信息為temp=="ACC",即登錄操作完成,如果從服務(wù)器端發(fā)送的信息為temp=="UAC",表明登錄失敗并彈出一個提示錯誤信息窗體。 單擊取消按鈕會調(diào)用事件來關(guān)閉窗體以及客戶端程序[5]。
用戶首先要進行注冊,從而取得登錄的ID 號,然后用戶填寫用戶名、密碼、頭像ID 的內(nèi)容后,單擊確定按鈕,把所定的內(nèi)容提交給服務(wù)器,服務(wù)器就會給用戶返回一個登錄ID。
用戶在注冊后,用獲得的ID 號碼在登錄模塊中進行登錄,用戶在登錄界面填寫用戶ID 和密碼后,單擊“登錄”按鈕,會彈出一個登錄成功的對話框,則表示登錄成功。單擊該對話框中的按鈕,就會進入客戶端界面。 如果不想登錄則單擊登錄界面的“取消”按鈕。 用戶在登錄成功后會進入客戶端界面。 如果想和朋友進行聊天,就用鼠標雙擊該好友的頭像進入與好友對話的界面,此時就可以與好友進行對話。
進入到與好友的對話界面后,如果想與好友進行語音、視頻聊天,那么單擊該界面上的“請求視頻”按鈕,這樣好友會收到請求對話框,若單擊接收視頻按鈕,則好友同意,兩人就可以進行視頻、語音聊天了。
[1]張青,郭亞萍.C#編程思想與實踐[M].北京:冶金工業(yè)出版社,2005.
[2]陳明.實用軟件工程基礎(chǔ)[M].北京:清華大學出版社,2002.
[3]黃德志,湯慶恩.C#程序設(shè)計實用教程[M].北京:冶金工業(yè)出版社,2002.
[4]葛昊晗,燙涌濤,李強.C#大學教程[M].北京:清華大學出版社,2003.
[5]熊盛心,許志慶,李欽.VisualC# .NET 語言參考手冊[M].北京:清華大學出版社,2002.