freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于netbios的聊天工具畢業(yè)論文(編輯修改稿)

2025-07-20 08:02 本頁面
 

【文章內(nèi)容簡介】 的資料,保存讀取個人的資料。? 可以公開聊天,此時,不需要選擇對象。? 可以選擇一個聊天房間,也即選擇一個服務(wù)器。? 可以察看一個房間的詳細(xì)資料。? 可以刷新房間列表。? 可以新建一個房間,即新建一個服務(wù)器。? 可以選擇聊天的對象,也可以公開聊天。? 可以察看某個人的詳細(xì)資料。? 可以和某人私聊,別人看不到。? 可以隱身或者在線或者忙,自動回復(fù)。? 可以設(shè)置自動回復(fù)的消息。? 可以退出一房間。? 聊天內(nèi)容為純文本方式。? 可以察看本機(jī)的 ip 地址和 mac 地址。21? 可以選擇通信方式(數(shù)據(jù)報方式,阻塞或非阻塞方式)。? 可以建立 bios 連接,用于兩個人的私有聊天室。? 可以在兩個人的私有聊天室基礎(chǔ)上實現(xiàn)語音聊天。? 可以在兩個人的私有聊天室基礎(chǔ)上實現(xiàn)文件傳輸。 系統(tǒng)其他要求 系統(tǒng)性能要求1 時間特性? 對于公共聊天和聊天室聊天,要求響應(yīng)每條消息的時間不超過 1 秒鐘,否則用戶將感到這個聊天工具反應(yīng)遲鈍。? 對于二人文本私聊,要求響應(yīng)每條消息的時間不超過 500ms,這樣使得二人私聊能夠有種當(dāng)面聊天的感覺。? 對于語音聊天,要求語音的延遲不超過 5 秒鐘。2 語音質(zhì)量要求語音的噪聲盡量小,可以分辨出人的話音。223 文件傳輸速度要求盡量提高傳輸速度,不能低于 1kb/s。4 靈活性要求該聊天工具能夠適用于多種協(xié)議上,而且能夠在任意個自治系統(tǒng)之內(nèi)使用,要求服務(wù)器自建非常靈活。 系統(tǒng)環(huán)境要求1 硬件要求? 安裝了網(wǎng)卡,并連入因特網(wǎng)。? 安裝了聲卡,具有麥克風(fēng),音箱。2 軟件要求? 安裝了 windows98 以上的系統(tǒng)。? 安裝了支持 NETBIOS 通信的 TCP/IP 或者 NETBEUI 等協(xié)議。23第 3 章 系 統(tǒng) 設(shè) 計 系統(tǒng)的物理結(jié)構(gòu)系統(tǒng)采用對等式結(jié)構(gòu),即任一節(jié)點(diǎn)均可作為服務(wù)器,又可作為客戶端,同時,整個網(wǎng)絡(luò)上可運(yùn)行多個服務(wù)器,其中雙空心箭頭表示兩者之間建立連接通信,而虛心箭頭表示廣播發(fā)送消息。圖 3 1? 任何一端都可能是客戶端,也可能是服務(wù)器端,如果它新建了一個房間,她就是服務(wù)器端,如果她進(jìn)入了一個其他服務(wù)器節(jié)點(diǎn)所創(chuàng)建的房間,她就24是客戶端,作為服務(wù)器端,它具有客戶端的所有功能,但又要比客戶端的功能多,完成廣播房間名和發(fā)送用戶名列表,完成用戶的連接和退出功能,響應(yīng)用戶的隱身,上線,即要管理一個房間。? 作為服務(wù)器的節(jié)點(diǎn) 1 或 2,它將向網(wǎng)絡(luò)上的所有客戶端廣播自己的房間名。? 作為服務(wù)器的節(jié)點(diǎn) 1,將向該節(jié)點(diǎn)所創(chuàng)建的房間內(nèi)的所有客戶端 3,4 發(fā)送新的用戶消息,發(fā)送用戶退出消息,等待網(wǎng)絡(luò)上所有的節(jié)點(diǎn)的連接消息,轉(zhuǎn)發(fā)從客戶端的接受到的新的消息。? 作為服務(wù)器的節(jié)點(diǎn) 2,將向該服務(wù)器內(nèi)的客戶端 5 發(fā)送用戶名,發(fā)送用戶退出消息,轉(zhuǎn)發(fā)消息,等待網(wǎng)絡(luò)上所有的節(jié)點(diǎn)的連接消息。? 作為客戶端,將向服務(wù)器端發(fā)送請求連接消息,等待服務(wù)器端的響應(yīng)。? 作為客戶端,將向指定的網(wǎng)絡(luò)上的節(jié)點(diǎn)發(fā)送請求查詢個人資料消息,服務(wù)器將該消息轉(zhuǎn)發(fā)給對應(yīng)的客戶,相應(yīng)的客戶響應(yīng)該查詢,發(fā)送個人資料到服務(wù)器,服務(wù)器再將該消息回送給要查詢的用戶,從而完成查詢個人的資料的消息。? 無論作為服務(wù)器端,還是客戶端,將向網(wǎng)絡(luò)上的所有的節(jié)點(diǎn)廣播公共聊天消息。? 任一客戶端均可以呼叫另一用戶,以建立兩個人的聊天室,在此基礎(chǔ)上,可以選擇是否語音聊天以及文件傳輸。25 系統(tǒng)的軟件結(jié)構(gòu)1 系統(tǒng)劃分本系統(tǒng)總共分為七個子系統(tǒng),分別為:? 登錄子系統(tǒng)? 基于 bios 的底層通信子系統(tǒng)? 設(shè)置子系統(tǒng)? 聊天子系統(tǒng)? 服務(wù)器房間管理子系統(tǒng)(僅在服務(wù)器端有)? 語音聊天系統(tǒng)? 文件傳輸子系統(tǒng)2 子系統(tǒng)描述? 登錄子系統(tǒng),提供用戶登錄界面,主要完成用戶的初始信息,可以保存用戶的個人資料,也可以從文件中讀出個人資料,對用戶的個人資料進(jìn)行可靠性,惟一性檢查。? 基于 bios 的底層通信子系統(tǒng),主要利用 bios 的編程接口,完成對網(wǎng)卡的初始化,添加名字,廣播發(fā)送消息,廣播接受消息建立連接,傳送消息,獲得網(wǎng)卡信息等的功能。? 聊天子系統(tǒng),負(fù)責(zé)發(fā)送消息,接受消息,顯示消息,刷新用戶列表等功26能,它又可分為廣播聊天,聊天室聊天,二人私聊。? 設(shè)置子系統(tǒng),負(fù)責(zé)設(shè)置系統(tǒng)配置,同時提供修改修改個人資料等功能。? 服務(wù)器房間管理子系統(tǒng),主要有新建房間,列出所有的房間名,廣播房間名,選擇房間,等待用戶連接房間,察看房間資料,退出房間,轉(zhuǎn)發(fā)用戶的消息等功能。? 語音聊天子系統(tǒng),主要完成語音的采集,壓縮,傳輸,解壓縮,回放等功能,實現(xiàn)語音聊天。? 文件傳輸子系統(tǒng)主要在二人私聊的基礎(chǔ)上,實現(xiàn)點(diǎn)對點(diǎn)的文件傳輸。3 系統(tǒng)功能模型圖 頂層功能模型圖圖 3 2首先應(yīng)用程序由這 6 個大的子系統(tǒng)組成,而這些子系統(tǒng)之間的通信以及子系統(tǒng)內(nèi)部的通信都是建立在 NETBIOS 通信子系統(tǒng)基礎(chǔ)上之上的。27下面是各個子系統(tǒng)的再劃分,即子系統(tǒng)的子系統(tǒng),其說明見上文的子系統(tǒng)描述。 登錄子系統(tǒng)功能模型圖圖 3 3 聊天子系統(tǒng)功能模型圖圖 3 4 房間管理子系統(tǒng)模型圖28圖 3 5 語音子系統(tǒng)功能模型圖圖 3 6 NETBIOS 子系統(tǒng)功能模型圖圖 3 729 系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計1 消息對象(Cinformation)這個對象很重要,因為該聊天工具中需要傳輸各種消息。系統(tǒng)中任何一條通信都是以消息的形式表現(xiàn)出來。該消息類型的屬性有:CString m_strSender 發(fā)送者名字CString m_strReceiver 接收者名字CString m_strInformation 消息,是一結(jié)構(gòu)體,由各個段組成,用:這個關(guān)鍵字符隔開time_t m_tSendTime 消息的時間,long 型UINT m_nType 消息的類型表 3 1其中,m_strInformation 又有它自己的結(jié)構(gòu),根據(jù)程序的需要可以自己任意定義。在系統(tǒng)中,任意給定一緩沖區(qū) buffer[346],長度為 346,由它可以構(gòu)造一條消息以便發(fā)送和接受。構(gòu)造的原則如下:一開始的 21 個字節(jié)為發(fā)送者名字,接著的 21 個字節(jié)為接收者名字,接著的 4 個字節(jié)為時間,接著的一個字節(jié)為類型,剩下的字節(jié)為消息體 m_strInformation。30示意圖:(單位:字節(jié))21 21 4 1 299發(fā)送者 接收者 時間 類型 消息體表 3 2因為要在一兩個連接上傳送多種信息,因此必須定義多種消息類型,才能滿足此需要。2 消息隊列(CinformationBox)消息隊列是系統(tǒng)中用于存放接收到的消息的緩沖區(qū),它其實是消息的一個數(shù)組,屬性定義如下:CInformation m_ciInformationBox[MAX_INFORMATIONS]消息數(shù)組UINT m_nInformationNum 消息數(shù)目表 3 3利用消息隊列,可以緩沖暫時未能處理的消息,避免客戶端與服務(wù)器端的速度不匹配問題,能夠有效的擴(kuò)展服務(wù)器的承載能力。3 個人資料對象(Cperson)該對象用于存放個人的資料,以及個人在整個系統(tǒng)中要參與作用而需要的參數(shù)。其屬性定義如下:CString m_strName 姓名31BOOL m_bMale 性別UINT m_nAge 年齡CString m_strInformation 個人說明CString m_strRoom 所在房間名CString m_strToPerson 選擇的對象int m_nRoomChatLsn 房間聊天時的 lsnint m_nPrivateChatLsn 私聊時的 lsn 語音聊天時的 lsnint m_nSoundChatLsn 語音聊天時的 lsnBOOL m_bPrivateChat 是否私聊表 3 4該對象存放 NETBIOS 通信需要的關(guān)鍵的信息,NETBIOS 連接號。4 服務(wù)器對象服務(wù)器對象存放了服務(wù)器所必需的緩沖區(qū),例如從客戶端發(fā)送過來的消息緩沖區(qū),用戶名緩沖區(qū)等,其中最重要的幾個屬性是:CStringArray m_straServerUsers用戶名列表int m_nUserLsn[254] 用戶的連接號數(shù)組BOOL m_bUserValid[254] 用戶是否有效數(shù)組UINT m_nLsnNum 用戶數(shù)目表 3 532很顯然,這幾個屬性管理了所有的客戶端連接到服務(wù)端的用戶信息,在用戶的連接,退出以及隱身等過程中,這幾個屬性一定要保持同步。 系統(tǒng)界面設(shè)計1 登錄界面圖 3 8提供用戶登錄接口,用于接受用戶的個人信息。2 系統(tǒng)主界面33圖 3 9第一個方框用于顯示用戶所發(fā)送的消息,這個消息是一廣播消息,任何人都可見第二個方框用于接受用戶的輸入,并以廣播的形式發(fā)送網(wǎng)絡(luò)上所有的房間列表顯示網(wǎng)絡(luò)上所有的房間名,人數(shù),是否滿,說明等信息刷新按鈕用于刷新房間列表,雙擊房間名,將進(jìn)入該房間個人設(shè)置用于設(shè)置個人的基本資料,包括昵稱,年齡,性別,頭像,個人的說明等。系統(tǒng)設(shè)置按鈕用于設(shè)置系統(tǒng)的各種參數(shù)等新建房間按鈕用于新建一個房間。呼叫某人按鈕用于和某人建立連接,實現(xiàn)二人私聊的功能。3 個人設(shè)置界面與登錄界面相同,不同之處在于登錄界面初始化為缺省值,而個人設(shè)置界面初始化為最新的個人資料。4 系統(tǒng)設(shè)置界面34圖 3 10 將各個系統(tǒng)參數(shù)分類成 6 個大類,分別為公共聊天的參數(shù),二人私聊的參數(shù),聊天室聊天的參數(shù),bios 的參數(shù),服務(wù)器的參數(shù),其他等。5 新建房間界面圖 3 11房間名稱用于輸入新房間的名稱,同時若與網(wǎng)絡(luò)上其他房間同名,則非法,若不設(shè)置,則無需密碼即可進(jìn)入上限人數(shù)用于設(shè)置房間的最多的用戶數(shù)房間說明,用于介紹該房間。6 聊天室界面35圖 3 12左邊大方框用于顯示聊天內(nèi)容下面的方框用于接受用戶輸入消息聊天對象用于選擇聊天的對象右邊顯示房間名,主人,和所有的該房間用戶。7 二人私聊界面圖 3 13選中語音聊天,可以進(jìn)行語音聊天,取消語音聊天復(fù)選框,即可取消語音聊天。選擇發(fā)送文件可以選擇文件并發(fā)送給對方,如對方同意接受文件,此時,終止發(fā)送按鈕將被激活,可以在傳送文件的過程中終止文件的傳送。36第 4 章 系統(tǒng)實現(xiàn) 功能規(guī)定1 登錄功能的規(guī)定功能名稱登錄輸入 昵稱,選擇性別,年齡,個人說明等輸出 登錄是否成功37處理IF 系統(tǒng)不提供 NETBIOS 服務(wù)輸出登錄失敗退出ENDIFIF 重置系統(tǒng)的 NETBIOS 服務(wù)失敗輸出登錄失敗退出ENDIFIF 添加個人名字的 NETBIOS 名出錯輸出登錄失敗退出ENDIFIF 如果用戶名已存在輸出登錄失敗退出ENDIF輸出登錄成功退出備注用戶名不能重名,不能為已有名字+s 形成的名字,也不能為 public,長度不超過 20 個字節(jié),年齡在 0——38200 之間,個人說明不超過 100 個字符。表 4 12 連接房間功能的規(guī)定功能名稱進(jìn)入一個選擇的房間輸入 房間名輸出 連接成功或者失敗處理IF 房間名無效輸出連接失敗退出ENDIFIF 連接服務(wù)器失敗輸出連接失敗退出ENDIFIF 該房間需要密碼輸入密碼ENDIFIF 身份驗證出錯39輸出連接失敗退出ENDIF輸出連接成功備注表 4 23 新建房間功能的規(guī)定功能名稱新建房間輸入 房間名+房間說明 +房間密碼+人數(shù)輸出 新建房間成功或失敗處理保存新房間信息IF 房間名不合法輸出新建房間失敗退出ENDIFIF 啟動服務(wù)器失敗 輸出新建房間失敗 退出ENDIF40建立服務(wù)器端客戶端與服務(wù)器的連接輸出新建房間成功備注 房間名長度不超過 20 個字符,密碼 1 至 20 個字符,房間說明不超過 100 個字節(jié)表 4 34 系統(tǒng)設(shè)置功能的規(guī)定功能名稱系統(tǒng)設(shè)置輸入 系統(tǒng)參數(shù)輸出 系統(tǒng)參數(shù)處理 將用戶輸入的參數(shù)保存到系統(tǒng)參數(shù)對象中備注提供設(shè)置界面,以設(shè)定系統(tǒng)的基本配置,包括通信方式的選擇,系統(tǒng)中的一些必要的參數(shù)的設(shè)定,盡量讓系統(tǒng)的參數(shù)可以設(shè)定,達(dá)到讓系統(tǒng)的內(nèi)部透明化,內(nèi)部的參數(shù)有:用于刷新某房間的聊天內(nèi)容的時鐘間隔,用于刷新某房間的用于名列表的時間間隔,查詢個人資料的等待時間,about 對話框的字體背景色,保存?zhèn)€人資料的文件的路徑和文件名,廣播房間名的消息的時間間隔(是否廣播),客戶端連接等待時間間隔,刷新廣播消息列表的時間間隔,刷新房間名列表的時間間隔,41,bios 最大用戶名數(shù),最大會話數(shù),當(dāng)建立新房間時,是否隱藏主對話框,退出房間時的等待時間間隔,以讓系統(tǒng)有足夠的時間做一些善后工作,廣播發(fā)送的bios 的 lana 號,廣播接受 bi
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1