java網(wǎng)絡(luò)聊天室課程設(shè)計(jì)說明書(含源程序)

java網(wǎng)絡(luò)聊天室課程設(shè)計(jì)說明書(含源程序)

ID:18871400

大?。?75.00 KB

頁數(shù):18頁

時(shí)間:2018-09-26

java網(wǎng)絡(luò)聊天室課程設(shè)計(jì)說明書(含源程序)_第1頁
java網(wǎng)絡(luò)聊天室課程設(shè)計(jì)說明書(含源程序)_第2頁
java網(wǎng)絡(luò)聊天室課程設(shè)計(jì)說明書(含源程序)_第3頁
java網(wǎng)絡(luò)聊天室課程設(shè)計(jì)說明書(含源程序)_第4頁
java網(wǎng)絡(luò)聊天室課程設(shè)計(jì)說明書(含源程序)_第5頁
資源描述:

《java網(wǎng)絡(luò)聊天室課程設(shè)計(jì)說明書(含源程序)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、課程設(shè)計(jì)操作系統(tǒng)課程設(shè)計(jì)報(bào)告18課程設(shè)計(jì)目錄一.設(shè)計(jì)要求和目的………………………………………3二.背景知識(shí)…………………………………………………………4三.客戶端設(shè)計(jì)………………………………………………………5四.客戶端主要代碼…………………………………………………6五.設(shè)計(jì)體會(huì)…………………………………………………………918課程設(shè)計(jì)摘要隨著網(wǎng)絡(luò)信息時(shí)代的來臨,Internet應(yīng)用越來越廣泛人們?cè)絹碓搅?xí)慣于在網(wǎng)上獲取和交流信息。據(jù)調(diào)查顯示,80%以上的人上網(wǎng)都會(huì)打開聊天工具來聊天,而幾乎每一個(gè)年輕人都會(huì)去聊天。使用網(wǎng)上聊天已經(jīng)成為現(xiàn)代年輕人一種新的交

2、往方式。聊天室更適合于陌生人之間進(jìn)行較為主觀、感興化的討論。所以有大部分的人會(huì)進(jìn)入聊天室聊天它會(huì)給人一個(gè)完全自由的聊天世界。因此我們聯(lián)系所學(xué)的操作系統(tǒng)、數(shù)據(jù)庫和MFC知識(shí)決定做一個(gè)簡易的聊天系統(tǒng)。一、設(shè)計(jì)要求和目的此課題是實(shí)現(xiàn)一個(gè)即時(shí)通信系統(tǒng)完成1:進(jìn)程間通信、并發(fā)(同步/互斥)、文件讀寫2:內(nèi)存管理、Dll、Windows消息機(jī)制、IO。課題任務(wù)分工:客戶端子系統(tǒng):在客戶端系統(tǒng)的功能實(shí)現(xiàn)上,可以分為以下幾個(gè)部分:[1]進(jìn)程信息的輸入系統(tǒng)把用戶進(jìn)程要求發(fā)送的信息由鍵盤輸入從文件讀取。這部分功能是客戶端子系統(tǒng)的基本部分,這個(gè)功能是以后各個(gè)部分的基礎(chǔ)。系統(tǒng)

3、要求做到即能夠從其它子系統(tǒng)中共享一部分信息[2]進(jìn)程信息的存儲(chǔ):將進(jìn)程的信息存儲(chǔ)到客戶端系統(tǒng)中,以及將發(fā)送的信息保存在文件中,以備以后進(jìn)程之間通信確認(rèn)以及查詢。[3]通信數(shù)據(jù)的傳遞及接收:將客戶所發(fā)送的信息由客戶端由網(wǎng)絡(luò)傳到服務(wù)器端上,并且接受航服務(wù)器返回的接收方發(fā)送的信息,然后存儲(chǔ)起來。18課程設(shè)計(jì)二.背景知識(shí)SOCKETSocket可以看成在兩個(gè)程序進(jìn)行通訊連接中的一個(gè)端點(diǎn),是連接應(yīng)用程序和網(wǎng)絡(luò)驅(qū)動(dòng)程序的橋梁,Socket在應(yīng)用程序中創(chuàng)建,通過綁定與網(wǎng)絡(luò)驅(qū)動(dòng)建立關(guān)系。此后,應(yīng)用程序送給Socket的數(shù)據(jù),由Socket交網(wǎng)絡(luò)驅(qū)動(dòng)程序向網(wǎng)絡(luò)上發(fā)送出去。

4、計(jì)算機(jī)從網(wǎng)絡(luò)上收到與該Socket綁定IP地址和端口號(hào)相關(guān)的數(shù)據(jù)后,由網(wǎng)絡(luò)驅(qū)動(dòng)程序交給Socket,應(yīng)用程序便可從該Socket中提取接收到得數(shù)據(jù),網(wǎng)絡(luò)應(yīng)用程序就是這樣通過Socket進(jìn)行數(shù)據(jù)的發(fā)送與接收的(1)創(chuàng)建Socket;(2)打開連接到Socket的輸入/出流;(3)按照一定的協(xié)議對(duì)Socket進(jìn)行讀/寫操作;18課程設(shè)計(jì)(4)關(guān)閉Socket.IO技術(shù)阻塞模式可能造成阻塞的函數(shù)有:connect()、accept()、讀寫函數(shù)C/S兩端通過Socket機(jī)制進(jìn)行連接(1)客戶端的編程流程:a創(chuàng)建Socket對(duì)象,向Server的監(jiān)聽端口請(qǐng)求;b

5、通過向新Socket中讀寫數(shù)據(jù)與Server端通信;c關(guān)閉Socket,結(jié)束與Server端;(2)服務(wù)器端的編程流程:1打開ServerSocket,創(chuàng)建一個(gè)服務(wù)器型套接字和一個(gè)普通套接字,服務(wù)器型套接字在指定端口為客戶端請(qǐng)求的Socket服務(wù);2等待來自客戶端的Client端的請(qǐng)求;3接收Client端的請(qǐng)求,用返回的Socket建立連接;4通過向Socket中讀寫數(shù)據(jù)來與Client端通信;5關(guān)閉Socket,結(jié)束與當(dāng)前Client端的通信;6關(guān)閉SerketSocket對(duì)象結(jié)束監(jiān)聽服務(wù)。二.客戶端設(shè)計(jì)客戶端主要完成建立連接、消息輸入、消息發(fā)送、消

6、息存儲(chǔ)功能。功能含義如下:1.建立連接:建立一個(gè)ServerSocket連接,不斷偵聽是否有服務(wù)端連接或者斷開連接。2.消息輸入:根據(jù)用戶輸入的消息,將消息顯示在屏幕面板上。3.消息發(fā)送:把用戶輸入的消息作為字符串通過Socket端口發(fā)送到服務(wù)器。4.消息存儲(chǔ):把用戶輸入的消息存儲(chǔ)到data.txt文件中,以便用戶以后查閱聊天記錄??蛻舳嗽O(shè)計(jì)如下:1.界面設(shè)計(jì)2.連接設(shè)計(jì)3.接收信息設(shè)計(jì)4.用戶信息設(shè)計(jì)5.幫助設(shè)計(jì)客戶端用戶設(shè)計(jì)的IP地址和端口號(hào)連接到相應(yīng)的服務(wù)器,通過接收用戶輸入的消息,然后通過所監(jiān)聽的端口把消息發(fā)送到服務(wù)端,由服務(wù)端把消息發(fā)送到指定的

7、用戶18課程設(shè)計(jì)用戶連接服務(wù)器1客戶端請(qǐng)求連接客戶端通過connect()請(qǐng)求連接,填寫端口號(hào)以及IP地址,填寫自己的信息。2服務(wù)器端響應(yīng)服務(wù)器端的監(jiān)聽器監(jiān)聽到客戶端的連接請(qǐng)求后,檢測后允許客戶端連接到服務(wù)器。3給客戶端返回信息連接成功后服務(wù)器返回給客戶端連接成功的信息,并且給所有的用戶發(fā)送用戶登錄信息。4關(guān)閉Socket連接當(dāng)以上的程序都正常運(yùn)行后,需要關(guān)閉Socket連接,否則將會(huì)浪費(fèi)服務(wù)器與客戶端之間的資源。5用戶退出5.1接收退出信息當(dāng)用戶退出時(shí),客戶端將會(huì)用基于Socket的對(duì)象輸出流發(fā)送給服務(wù)器退出對(duì)象。5.2在線列表中刪除用戶用戶退出后應(yīng)該

8、把用戶從在線列表中刪除,否則用戶退出用戶還在在線列表中,那么該用戶下次將會(huì)無法登

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。