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

正文內(nèi)容

局域網(wǎng)聊天軟件的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文(編輯修改稿)

2025-07-24 21:49 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。在概念設(shè)計(jì)階段中,要從用戶的角度看待數(shù)據(jù)及處理要求和約束,產(chǎn)生一個(gè)反映用戶觀點(diǎn)的概念模式。然后再把概念模式轉(zhuǎn)成邏輯模數(shù)據(jù)庫(kù)的設(shè)計(jì)在一個(gè)項(xiàng)目中是一個(gè)非常重要的環(huán)節(jié)。數(shù)據(jù)是一切系統(tǒng)設(shè)計(jì)的基礎(chǔ),通俗地講,數(shù)據(jù)庫(kù)設(shè)計(jì)就像高樓大廈的根基一樣,如果設(shè)計(jì)不合理,不完善,將在系統(tǒng)開(kāi)發(fā)過(guò)程中,甚至到后期的系統(tǒng)維護(hù),功能變更和功能擴(kuò)充時(shí),引起較多問(wèn)題,嚴(yán)重時(shí)甚至要重新設(shè)計(jì)重做已完成的工作設(shè)計(jì)數(shù)據(jù)庫(kù)的關(guān)鍵是設(shè)計(jì)表,首先確定設(shè)計(jì)什么樣的表,對(duì)每一列指派什么樣的數(shù)據(jù)類型,各個(gè)類型定義什么樣的數(shù)據(jù)長(zhǎng)度。文本:用于儲(chǔ)存文本和字符的組合數(shù)據(jù),最多255個(gè)數(shù)據(jù),字段大小可以控制最多輸入數(shù)據(jù)大小。數(shù)字:主要儲(chǔ)存需要進(jìn)行數(shù)據(jù)計(jì)算的字符,儲(chǔ)存空間大小為8個(gè)字節(jié)數(shù)。日期:儲(chǔ)存日期,存儲(chǔ)空間為8字節(jié)。長(zhǎng)文本:用于儲(chǔ)存注釋和備注,最多65536個(gè)字符。通過(guò)對(duì)本系統(tǒng)進(jìn)行的需求分析、系統(tǒng)流程設(shè)計(jì)及系統(tǒng)功能結(jié)構(gòu)的確定,規(guī)劃出系統(tǒng)中使用的數(shù)據(jù)庫(kù)實(shí)體對(duì)象,具體說(shuō)明如下。ER圖為實(shí)體聯(lián)系圖,提供了表示實(shí)體型、屬性和聯(lián)系的方法,用來(lái)描述現(xiàn)實(shí)世界的概念模型。構(gòu)成ER圖的基本要素是實(shí)體、屬性和關(guān)系。實(shí)體是指客觀存在并可相互區(qū)分的事特;屬性指實(shí)體所具有的每一個(gè)特性;聯(lián)系也稱關(guān)系,信息世界中反映實(shí)體內(nèi)部或?qū)嶓w之間的聯(lián)系。ER圖由實(shí)體、屬性、聯(lián)系三部分組成,: ER圖符號(hào)說(shuō)明用戶信息實(shí)體用于用戶的詳細(xì)信息。用戶信息表除了存儲(chǔ)賬號(hào),密碼,昵稱等用戶基本的個(gè)人信息,還包括存儲(chǔ)用戶本次登錄的IP,和登錄端口,這個(gè)端口是作為文件傳輸?shù)囊粋€(gè)端口。服務(wù)器信息實(shí)體用戶存儲(chǔ)用戶群聊的一個(gè)群內(nèi)公告信息。和服務(wù)器啟動(dòng)IP地址和監(jiān)聽(tīng)的端口。數(shù)據(jù)庫(kù)和數(shù)據(jù)表的設(shè)計(jì):數(shù)據(jù)庫(kù)名:bysjone說(shuō)明:PK—主鍵,F(xiàn)K—外鍵,Not null—非空:userinfo字段名數(shù)據(jù)類型字段說(shuō)明鍵引用備注賬號(hào)NUMBER(8)用戶的登錄賬號(hào)PK主鍵(自動(dòng)加一)昵稱NVARCHAR2(20)用戶的昵稱性別VARCHAR2(4)用戶性別年齡NUMBER(3)用戶的年齡地址VARCHAR2(20)用戶的地址登錄地址VARCHAR2(20)用戶當(dāng)前登錄的主機(jī)IP地址用于點(diǎn)對(duì)點(diǎn)的文件傳輸?shù)卿浂丝贜UMBER用戶登錄獲取一個(gè)隨機(jī)端口用于文件傳輸郵箱VARCHAR2(20)用戶的郵箱注冊(cè)時(shí)間DATE保存用戶的注冊(cè)時(shí)間問(wèn)題VARCHAR2(40)密碼問(wèn)題作為密碼找回的憑據(jù)答案VARCHAR2(20)密碼答案密碼VARCHAR2(20)登錄密碼簽名NVARCHAR2(40)用戶的簽名狀態(tài)VARCHAR2(10)當(dāng)前是否在線:Notice字段名數(shù)據(jù)類型字段說(shuō)明鍵引用備注公告NVARCHAR2(300)群內(nèi)的公告存儲(chǔ)群內(nèi)的公告主機(jī)IPNVARCHAR2(30)服務(wù)器的IP地址PKNOT NULL主機(jī)端口 NUMBER服務(wù)器監(jiān)聽(tīng)端口 5系統(tǒng)設(shè)計(jì)本聊天軟件采取C/S(客戶端/服務(wù)器)模式。在服務(wù)器端用于監(jiān)聽(tīng)客戶端的動(dòng)態(tài)。和顯示所有用戶的一些關(guān)鍵信息。在客戶端主要有用戶登錄界面包括用戶注冊(cè),密碼找回,第一次登錄失敗出現(xiàn)驗(yàn)證碼。進(jìn)入主界面后,可以點(diǎn)擊在線用戶,對(duì)其聊天和文件傳輸??梢圆榭磁c該用戶的聊天記錄和清除聊天記錄。有截圖工具截取當(dāng)前的屏幕。在主界面有一個(gè)發(fā)起群聊的按鈕進(jìn)行在線又有用戶的群聊。對(duì)界面有一些簡(jiǎn)單的頭像設(shè)置,路徑設(shè)置和主界面的皮膚設(shè)置。 Socket服務(wù)器與客戶端的通信流程 。 服務(wù)器與客戶端的通訊流程本軟件是局域網(wǎng)聊天,采用的C/S模式,所以得分為客戶端和服務(wù)器端兩個(gè)項(xiàng)目來(lái)實(shí)現(xiàn)。對(duì)于服務(wù)器端,只是接收到每個(gè)客戶端發(fā)來(lái)的信息后,根據(jù)客戶端的信息請(qǐng)求將該信息經(jīng)過(guò)一定的處理發(fā)個(gè)對(duì)應(yīng)的客戶端。那么在客服端就是一個(gè)IP地址和端口的監(jiān)聽(tīng)。但是這樣顯得過(guò)于單調(diào)。為了豐富服務(wù)器端的功能,服務(wù)器端應(yīng)該可以看到用戶的基本情況和顯示當(dāng)前在線用戶的基本動(dòng)態(tài)??蛻舳俗鳛橛脩羰褂玫慕缑?,就應(yīng)該把功能具體化,盡可能有更好的用戶體驗(yàn)。為了讓用戶對(duì)軟件有一個(gè)更好的使用感,就會(huì)針對(duì)每個(gè)用戶有屬于他們唯一個(gè)賬號(hào)。那么在登陸界面就得針對(duì)沒(méi)有賬號(hào)而需要使用該軟件的人提供一個(gè)注冊(cè)功能。然后一些用戶也有可能忘記密碼,如果重新再注冊(cè)用戶也會(huì)覺(jué)得麻煩,就得給用戶提供一個(gè)找回密碼的功能。進(jìn)入界面后,有時(shí)候用戶會(huì)覺(jué)得這個(gè)界面風(fēng)格不適合自己或者自己覺(jué)得好,那么就給用戶提供一些改變界面的選擇方案。在主界面用戶可以選擇在線好友進(jìn)行聊天,但是有時(shí)候是幾個(gè)都比較熟悉要一起進(jìn)行交流,所以就得提過(guò)一個(gè)群聊的功能。在聊天過(guò)程中,我們有時(shí)候不僅僅是進(jìn)行文字通訊,有時(shí)候要傳輸文件。故在聊天中可以傳輸文件。為了方便用戶回憶跟好友的聊天內(nèi)容設(shè)計(jì)一個(gè)聊天記錄的查看。有時(shí)候聊天記錄多了,用戶在查看的時(shí)候不容易找到用戶要找的聊天內(nèi)容,所以用戶可以對(duì)覺(jué)得已經(jīng)沒(méi)有用的聊天記錄作一個(gè)清除。用戶有時(shí)候需要對(duì)屏幕或者聊天窗口的內(nèi)容進(jìn)行截圖,為了方便用戶所以提供了一個(gè)截圖工具。服務(wù)器端管理著聊天任務(wù),它維持著一張所有用戶基本信息的一個(gè)列表。轉(zhuǎn)發(fā)用戶發(fā)來(lái)的信息以及用戶的一些操作動(dòng)態(tài)或者意向動(dòng)態(tài)。? 監(jiān)聽(tīng)本機(jī)IP地址中的一個(gè)指定端口。? 服務(wù)器從數(shù)據(jù)庫(kù)實(shí)時(shí)來(lái)獲取當(dāng)前的所有用戶的當(dāng)前信息。是否在線以及顯示當(dāng)前在線用戶的動(dòng)態(tài)。? 當(dāng)有客戶端想該端口發(fā)起請(qǐng)求時(shí),服務(wù)器程序立刻建立一個(gè)與該客戶端的連接并啟動(dòng)一個(gè)新的線程來(lái)處理該客戶端的所有請(qǐng)求。? 根據(jù)客戶端發(fā)來(lái)的各種不同的請(qǐng)求,執(zhí)行相應(yīng)的操作,并將處理的結(jié)果返回給該客戶端。服務(wù)器能夠識(shí)別9種命令:CONN(建立連接)、GCH(點(diǎn)擊了發(fā)起群聊按鈕)、GC(進(jìn)入了群聊的界面)、PC(進(jìn)入私聊的聊天窗口)、FILE(點(diǎn)擊發(fā)送文件)、CHAT(群聊發(fā)送文字信息)、ChatTo(點(diǎn)擊在線用戶發(fā)起私聊)、PRIVCHAT(私聊發(fā)送文字信息)、EXIT(關(guān)閉主界面)。服務(wù)器在接收信息時(shí),用“|”分割信息的各個(gè)部分,一條信息包括一條命名,一個(gè)或多個(gè)信息參數(shù)。命令格式說(shuō)明CONN|用戶昵稱|該命令在登錄成功后,客戶端與服務(wù)器就建立好了連接。然后客戶端主界面在加載時(shí)就自動(dòng)發(fā)送。服務(wù)器在收到該命令后,并會(huì)將用戶昵稱上線這個(gè)信息顯示在服務(wù)器的listBox里面。同時(shí)向每個(gè)在線用戶發(fā)送更新在線列表的命令。GCH|用戶昵稱進(jìn)入群聊室|該命令是用戶進(jìn)入了聊天主界面后,點(diǎn)擊發(fā)起群聊。然后就會(huì)發(fā)送這個(gè)命令到服務(wù)器。服務(wù)器收到該命令后就將該用戶進(jìn)入聊天室的信息添加到ListBox里面同時(shí)將這個(gè)命令發(fā)送到在線的每一個(gè)用戶。讓用戶得到該用戶進(jìn)入聊天室的提示。GC|用戶昵稱進(jìn)入群聊室|該命令是用戶進(jìn)入群聊窗口后,發(fā)送該命令。然后服務(wù)器收到該命令后。就將該用戶昵稱添加到Client類中。更新當(dāng)前群聊在線用戶的列表。然后服務(wù)器將現(xiàn)在新增后的用戶列表在返回給每個(gè)客戶端。PC|用戶昵稱|該命令是用戶進(jìn)入私聊窗口后,發(fā)送該命令。然后服務(wù)器收到該命令后。就將該用戶昵稱添加到Client類中。更新當(dāng)前私聊列表、FILE|用戶昵稱|對(duì)方昵稱|文件名在私聊中,用戶需要給對(duì)方發(fā)送文件。那么在發(fā)送文件前會(huì)發(fā)送該命令。服務(wù)器收到該命令,在私聊列表中查找用戶昵稱和對(duì)方昵稱。然后再將該信息通過(guò)他們自己的socket對(duì)象發(fā)送到他們的聊天窗口。CHAT|用戶昵稱+當(dāng)期時(shí)間+發(fā)送內(nèi)容在群聊中,點(diǎn)擊發(fā)送按鈕后的。向服務(wù)器發(fā)送的內(nèi)容就是該命令的格式。服務(wù)器收到該命令后,然后再將這個(gè)信息發(fā)送給用戶的群聊窗體。ChatTo|用戶昵稱+對(duì)方昵稱|在點(diǎn)擊在線用戶時(shí),表示向在線用戶發(fā)起聊天。然后就會(huì)自動(dòng)發(fā)送該命令。服務(wù)器收到命令后,然后在私聊列表中查詢當(dāng)前用戶,然后把命令內(nèi)容發(fā)送給這兩個(gè)用戶。對(duì)方用戶可以收到有誰(shuí)向他發(fā)起了聊天的提示PRIVCHAT|用戶昵稱|對(duì)方昵稱|發(fā)送內(nèi)容在進(jìn)行私聊時(shí)。點(diǎn)擊發(fā)送按鈕,發(fā)送的內(nèi)容就是該命令格式。服務(wù)器收到該命令,對(duì)其拆解在私聊用戶列表中查出這兩個(gè)用戶。然后將該文字信息發(fā)送給這兩個(gè)用戶的聊天窗口。EXIT|發(fā)送用戶昵稱該命令式用戶在客戶端關(guān)閉時(shí)。由客戶端主界面自動(dòng)向服務(wù)器發(fā)送。服務(wù)器收到該命令,將發(fā)送者的昵稱從當(dāng)前在線用戶列表中刪除,并在listBox中顯示出來(lái)同時(shí)發(fā)給其余在線的所有用戶。 服務(wù)器能夠識(shí)別的所有命令列表客戶端應(yīng)用程序包括用戶登錄窗口(用戶注冊(cè),密碼找回,驗(yàn)證碼驗(yàn)證)、用戶情況的主界面、密碼修改、頭像設(shè)置、皮膚設(shè)置、路徑設(shè)置、私聊窗口(截圖、文件發(fā)送和接收、查看聊天記錄,清楚聊天記錄)、群聊窗口(截圖,查看聊天記錄,清楚聊天記錄,群內(nèi)公告編輯)。它允許用戶登錄到服務(wù)器,可以向服務(wù)器發(fā)送信息。同時(shí)可以接收服務(wù)器返回的信息。設(shè)計(jì)的主要功能如下。? 向遠(yuǎn)程服務(wù)器發(fā)送連接請(qǐng)求。? 得到服務(wù)器程序的確認(rèn)后,建立于服務(wù)器的連接,并獲得與服務(wù)器交互的流通道(NetworkStream)。? 通過(guò)網(wǎng)絡(luò)流通道與服務(wù)器端程序進(jìn)行數(shù)據(jù)通信。向服務(wù)器發(fā)送能夠識(shí)別的9種命令。同時(shí)也能接收服務(wù)器返回的命令??蛻舳四軌蜃R(shí)別的命令有LIST(更新當(dāng)前的在線用戶)、JOIN(通知當(dāng)前的在線用戶有新的用戶上線)、OFFLINE(通知當(dāng)前在線用戶有用戶下線)、QUIT(關(guān)閉客戶端程序)、GCH(通知當(dāng)前在線用戶有用戶發(fā)起群聊信息)、NoticeChat(通知當(dāng)前用戶有其他用戶向起發(fā)起私聊請(qǐng)求)、LISTG(更新當(dāng)前進(jìn)入群聊用戶列表)、PRIVCHAT(私聊信息)、FILE(有文件發(fā)送)??蛻舳顺绦蛴谩皘”開(kāi)分割信息的各個(gè)部分。一條信息包括一條命令,一個(gè)或多個(gè)信息參數(shù)。命令格式說(shuō)明LIST|在線用戶昵稱1|在線用戶昵稱2|在線用戶昵稱3|…|該命令式服務(wù)器程序收到CONN命令(有新的用戶上線)或者EXIT命令(有在線用戶要下線)后,有服務(wù)器自動(dòng)向當(dāng)前在線客戶端發(fā)送的。以此來(lái)通知所有的在線用戶刷新自己當(dāng)前的在線用戶列表。客戶端程序收到此命令后,在各自的窗口刷新當(dāng)前在線用戶列表 JOIN|剛上線的用戶昵稱|該命令是服務(wù)器應(yīng)用程序CONN后,由服務(wù)器自動(dòng)向當(dāng)前在線的客戶端發(fā)送的,以此來(lái)通知所有在線用戶此時(shí)有新的用戶上線??蛻舳顺绦蚴盏酱嗣詈?,在各自的主窗口中顯示此用戶上線。OFFLINE|用戶昵稱下線|該命令是客戶端向服務(wù)器發(fā)送EXIT命令后,服務(wù)器收到該命令,在服務(wù)器端顯示該用戶下線。并用發(fā)送此命令來(lái)通知當(dāng)前在線的客戶端用戶??蛻舳耸盏皆撁詈?,就在主窗口通知該用戶已經(jīng)下線。QUIT|該命令是服務(wù)器程序收到客戶端發(fā)送的EXIT命令后,由服務(wù)器自動(dòng)向該客戶端發(fā)送。以便通知該客戶端關(guān)閉連接同時(shí)關(guān)閉客戶程序??蛻舳耸盏皆撁詈?。關(guān)閉與服務(wù)器的連接并且關(guān)閉客戶端。GCH|用戶昵稱|命令是服務(wù)器端收到客戶端發(fā)送的GCH命令后,由服務(wù)器端自動(dòng)發(fā)送給當(dāng)前在線的所有用戶。以便通知客戶端有用戶發(fā)起了群聊。然后客戶端收到此命令就通知所有當(dāng)前在線用戶有用戶發(fā)起了群聊。NoticeChat|對(duì)方用戶想你發(fā)起聊天該命令式服務(wù)器端收到ChatTo命令后,由服務(wù)器解析出發(fā)送方和接收方。然后自動(dòng)將此命令發(fā)送給接收方客戶端。接收方客戶端收到此命令后就出現(xiàn)有好友向你發(fā)起來(lái)聊天的通知。LISTG|進(jìn)入群聊用戶昵稱1|進(jìn)入群聊用戶昵稱2|進(jìn)入群聊用戶昵稱3|…|該命令是服務(wù)器端收到GC命令后,更新了進(jìn)入群聊的用戶昵稱列表。然后自動(dòng)發(fā)送到客戶端。一次來(lái)更新客戶端中群聊里面在線用戶的列表。PRIVCHAT|接收用戶|發(fā)送用戶|發(fā)送時(shí)間:發(fā)送內(nèi)容該命令式服務(wù)端收到PRIVCHAT命令后,然后將命令內(nèi)容重組。構(gòu)成該命令。然后服務(wù)器在私聊列表中查找發(fā)送戶名昵稱和接收用戶昵稱。自動(dòng)將“發(fā)送方(發(fā)送時(shí)間):內(nèi)容”的格式發(fā)送個(gè)發(fā)送方和接收雙發(fā)。發(fā)送方的客戶端和接收方的客戶端收到此命令后,然后再聊天窗口顯示這個(gè)內(nèi)容。FILE|接收方昵稱|發(fā)送方昵稱|文件名該命令是服務(wù)器收到FILE命令后,然后服務(wù)器在私聊列表找出這兩個(gè)用戶昵稱,通過(guò)各自的socket對(duì)象發(fā)送FILE命令。當(dāng)發(fā)送發(fā)和接收方兩個(gè)客戶端收到此命令后,就在聊天窗口提示發(fā)送方向接收方發(fā)送文件:文件名? 通過(guò)TCP進(jìn)行文件發(fā)送和接收。在私聊時(shí),各個(gè)用戶可以通過(guò)點(diǎn)對(duì)點(diǎn)向?qū)Ψ桨l(fā)送文件??蛻舳烁鶕?jù)數(shù)據(jù)庫(kù)查詢對(duì)方IP和接收端口,然后連接對(duì)方。通過(guò)FileStream對(duì)文件進(jìn)行寫入。然后采BinaryReader以二進(jìn)制方式進(jìn)行編碼,通過(guò)TcpClient對(duì)文件進(jìn)行發(fā)送。接收方也通過(guò)數(shù)據(jù)庫(kù)獲取對(duì)方的IP和發(fā)送端口,然后用TcpListener對(duì)其監(jiān)聽(tīng)。每當(dāng)連接建立有文件發(fā)送,就啟動(dòng)一個(gè)新的線程。對(duì)對(duì)方的文件用FileStream對(duì)文件讀出,在通過(guò)BinaryReader對(duì)文件的解碼。最后保存到定義的路徑中。? 通過(guò)StreamWriter和StreamReader對(duì)每個(gè)聊天窗口的聊天記錄的操作。對(duì)每個(gè)聊天記錄用StreamWriter對(duì)聊天記錄用txt文本形式寫入然后保存。當(dāng)用戶要查看聊天記錄時(shí)就用StreamReader對(duì)之前存儲(chǔ)的txt進(jìn)行讀出。對(duì)于刪除聊天記錄,StreamWriter中寫入類型為false,文件存在則覆蓋之前的數(shù)據(jù)。讀入空字符串來(lái)代替刪除聊天記錄。? 截圖用CopyFromScreen來(lái)獲取整個(gè)屏幕,然后用Image來(lái)存儲(chǔ)。并用這個(gè)整個(gè)屏幕作為截圖窗口的一個(gè)背景圖。然后通過(guò)鼠標(biāo)操作來(lái)獲取選區(qū)域?qū)ζ浣貓D。選中好區(qū)域后雙擊左鍵來(lái)按自己的要求來(lái)保存該圖存在哪個(gè)路徑下。6系統(tǒng)的實(shí)現(xiàn)各個(gè)模塊流程圖,都有幾個(gè)部分組成。 流程圖符號(hào)說(shuō)明該軟件要能正常的運(yùn)行,那么首先就得啟動(dòng)服務(wù)器。只要點(diǎn)擊啟動(dòng)按鈕,那么服務(wù)器就啟動(dòng)。其他客戶端就能正
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1