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

正文內(nèi)容

局域網(wǎng)聊天軟件的設計與實現(xiàn)畢業(yè)論文-在線瀏覽

2025-08-14 21:49本頁面
  

【正文】 TextReader/Writer為抽象類。TCP是面向連接的協(xié)議,與電話通信一樣,用TCP編寫程序,也必須先建立TCP連接。 TCP的三次握手第一次握手:建立連接時,客戶端發(fā)送SYN包(SEQ=x)到服務器,并進入SYN_SEND狀態(tài),等待服務器確認。第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發(fā)送包ACK(ACK=y+1),此包發(fā)送完畢,客戶端和服務器進入Established狀態(tài),完成三次握手。TCP協(xié)議負責把用戶數(shù)據(jù)按一定的格式和長度組成多個數(shù)據(jù)報進行發(fā)送,并在接收到數(shù)據(jù)報之后按分解順序重新組裝和回復用戶數(shù)據(jù)。客戶端與服務器建立連接后,發(fā)送方需要先將發(fā)送的數(shù)據(jù)轉(zhuǎn)化為字節(jié)流,然后將其發(fā)送給對方。接收端從IP層接收到TCP報文后,將其暫時保存到接收緩存中,然后通過程序依次讀取接收緩存中的數(shù)據(jù)。 TCP的三次握手 ORACLE數(shù)據(jù)庫簡介ORACLE即甲骨文公司,全稱甲骨文股份有限公司(甲骨文軟件系統(tǒng)有限公司),是全球最大的企業(yè)軟件公司,總部位于美國加利福尼亞州的紅木灘。2013年,甲骨文已超越 IBM ,成為繼 Microsoft 后全球第二大軟件公司。已有10年以上的歷史。客戶關(guān)系管理(CRM)軟件。2005年,并購了開發(fā)客戶關(guān)系管理軟件的希柏軟件公司(Siebel)。這減少了ORACLE的資源占用,并增強了ORACLE的能力,使之在低檔軟硬件平臺上用較少的資源就可以支持更多的用戶,而在高檔平臺上可以支持成百上千用戶。在數(shù)據(jù)庫管理功能、完整性檢查、安全性、一致性方面都有良好的表現(xiàn)。? 提供了與第三代高級語言的接口軟件PRO*系列,能在C,C++等主語言中嵌入SQL語句及過程化(PL/SQL)語句,對數(shù)據(jù)庫中的數(shù)據(jù)進行操縱。? 提供了新的分布式數(shù)據(jù)庫能力。與SQL相比,Oracle數(shù)據(jù)庫的優(yōu)點與不足: server好。 server的易用性和友好性方面要比Oracle好。 Server在數(shù)據(jù)導出方面功能更強一些。也有很多的網(wǎng)上聊天軟件,并且其功能比較完善,技術(shù)也比較成熟。一些企業(yè),單位為了內(nèi)部數(shù)據(jù)的保密性或者是盡量的避免工作員工工作期間運用互聯(lián)網(wǎng)使他們不能更好的投入工作中,或者在完成一些獨立任務中,在網(wǎng)絡上發(fā)起外網(wǎng)的求救。而且對于保密性要求高的企業(yè)單位,就局域網(wǎng)內(nèi)部信息傳遞,從根本上杜絕黑客,木馬等惡意攻擊的軟件,不壞好心的人的攻擊。該軟件主要是用于局域網(wǎng)內(nèi)部的聊天,文件交流。對當前在線的所有用戶可以發(fā)起群聊功能,提供截圖功能。產(chǎn)品名稱如下:中文名:局域網(wǎng)聊天軟件的設計與實現(xiàn)項目英文名:The design and Realization of LAN chat software (1)用戶端之間的信息發(fā)送,本程序需要實現(xiàn)的最基本的功能。那么用戶可以點擊該用戶彈出聊天窗口。雙方能進行正常的交流。(2)用戶端之間的文件傳送,也是本程序需要實現(xiàn)的基本的功能。這個過程中的客戶端與客戶端之間是通過點對點,有Stream來解析文件,然后通過Socket進行發(fā)送。只有服務器啟動后,客戶端才能呢正常運作。用戶是整個系統(tǒng)的主體,他們才是這個系統(tǒng)所有者。 用戶信息管理用例說明如以下各表所示。找回密碼失敗用例個人信息修改用例編號5活動者用戶用例描述可以對之前注冊的個人信息,進行修改前置條件進入了主界面,點擊頭像后置條件成功修改個人信息基本操作流程① 進入主界面② 點擊頭像③ 點擊修改④ 針對要修改的項,填寫要修改的值⑤ 點擊確認,修改成功備選操作流程點擊取消,這退出修改通訊包括文字通訊和文件接收和發(fā)送。文件接收和發(fā)送,任意兩個用戶之間可以相互傳遞文件。不點擊文件發(fā)送用戶對每一位用戶可以查看聊天記錄和清楚之前的聊天記錄。在聊天窗口提供一個截圖工具。然后針對選中的方框,雙擊就可以將其保存至你選中的路徑中。用戶可以對該軟件進行一些自己的愛好和要求對其設置。:設置用例說明如以下各表所示。都采用屬于全球通用的語言,技術(shù)。針對每個用戶都有其唯一的賬號和密碼。而賬號,密碼等個人信息都是存儲在全世界最具影響力的數(shù)據(jù)庫Oracle中。在操作過程的一些不當不會影響后續(xù)操作。采用比較成熟的TCP通信,能夠讓更多的人了解實現(xiàn)原理與過程。對于工作量不需要太大。當用戶輸入不符合標準的數(shù)據(jù)后,或者操作時,系統(tǒng)能正常運行。該系統(tǒng)操作簡單,都有明確的標注。除開發(fā)文字信息和登錄,注冊時要用到鍵盤輸入,其余都是鼠標點擊。軟件系統(tǒng)中發(fā)現(xiàn)并糾正一個故障或進行一次更改的簡易錯誤。 由該系統(tǒng)的在實現(xiàn)中采用的平臺和語言,它能夠支持現(xiàn)在用戶量占據(jù)主導地位的Windows系統(tǒng),所以在運行環(huán)境改變后,基本可以適應絕大多數(shù)的電腦。 運行需求分析? 用戶界面程序較小,啟動速度快,無啟動界面。? 故障處理在遇到可預知的故障與情況時,能提示用戶并自動退出;在遇到不可預知的故障時能安全退出。反映其概念模式是用ER模型。邏輯結(jié)構(gòu)設計的任務就是把概念結(jié)構(gòu)設計階段設計好的ER圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。然后再把概念模式轉(zhuǎn)成邏輯模數(shù)據(jù)庫的設計在一個項目中是一個非常重要的環(huán)節(jié)。文本:用于儲存文本和字符的組合數(shù)據(jù),最多255個數(shù)據(jù),字段大小可以控制最多輸入數(shù)據(jù)大小。日期:儲存日期,存儲空間為8字節(jié)。通過對本系統(tǒng)進行的需求分析、系統(tǒng)流程設計及系統(tǒng)功能結(jié)構(gòu)的確定,規(guī)劃出系統(tǒng)中使用的數(shù)據(jù)庫實體對象,具體說明如下。構(gòu)成ER圖的基本要素是實體、屬性和關(guān)系。ER圖由實體、屬性、聯(lián)系三部分組成,: ER圖符號說明用戶信息實體用于用戶的詳細信息。服務器信息實體用戶存儲用戶群聊的一個群內(nèi)公告信息。數(shù)據(jù)庫和數(shù)據(jù)表的設計:數(shù)據(jù)庫名:bysjone說明:PK—主鍵,F(xiàn)K—外鍵,Not null—非空:userinfo字段名數(shù)據(jù)類型字段說明鍵引用備注賬號NUMBER(8)用戶的登錄賬號PK主鍵(自動加一)昵稱NVARCHAR2(20)用戶的昵稱性別VARCHAR2(4)用戶性別年齡NUMBER(3)用戶的年齡地址VARCHAR2(20)用戶的地址登錄地址VARCHAR2(20)用戶當前登錄的主機IP地址用于點對點的文件傳輸?shù)卿浂丝贜UMBER用戶登錄獲取一個隨機端口用于文件傳輸郵箱VARCHAR2(20)用戶的郵箱注冊時間DATE保存用戶的注冊時間問題VARCHAR2(40)密碼問題作為密碼找回的憑據(jù)答案VARCHAR2(20)密碼答案密碼VARCHAR2(20)登錄密碼簽名NVARCHAR2(40)用戶的簽名狀態(tài)VARCHAR2(10)當前是否在線:Notice字段名數(shù)據(jù)類型字段說明鍵引用備注公告NVARCHAR2(300)群內(nèi)的公告存儲群內(nèi)的公告主機IPNVARCHAR2(30)服務器的IP地址PKNOT NULL主機端口 NUMBER服務器監(jiān)聽端口 5系統(tǒng)設計本聊天軟件采取C/S(客戶端/服務器)模式。和顯示所有用戶的一些關(guān)鍵信息。進入主界面后,可以點擊在線用戶,對其聊天和文件傳輸。有截圖工具截取當前的屏幕。對界面有一些簡單的頭像設置,路徑設置和主界面的皮膚設置。 服務器與客戶端的通訊流程本軟件是局域網(wǎng)聊天,采用的C/S模式,所以得分為客戶端和服務器端兩個項目來實現(xiàn)。那么在客服端就是一個IP地址和端口的監(jiān)聽。為了豐富服務器端的功能,服務器端應該可以看到用戶的基本情況和顯示當前在線用戶的基本動態(tài)。為了讓用戶對軟件有一個更好的使用感,就會針對每個用戶有屬于他們唯一個賬號。然后一些用戶也有可能忘記密碼,如果重新再注冊用戶也會覺得麻煩,就得給用戶提供一個找回密碼的功能。在主界面用戶可以選擇在線好友進行聊天,但是有時候是幾個都比較熟悉要一起進行交流,所以就得提過一個群聊的功能。故在聊天中可以傳輸文件。有時候聊天記錄多了,用戶在查看的時候不容易找到用戶要找的聊天內(nèi)容,所以用戶可以對覺得已經(jīng)沒有用的聊天記錄作一個清除。服務器端管理著聊天任務,它維持著一張所有用戶基本信息的一個列表。? 監(jiān)聽本機IP地址中的一個指定端口。是否在線以及顯示當前在線用戶的動態(tài)。? 根據(jù)客戶端發(fā)來的各種不同的請求,執(zhí)行相應的操作,并將處理的結(jié)果返回給該客戶端。服務器在接收信息時,用“|”分割信息的各個部分,一條信息包括一條命名,一個或多個信息參數(shù)。然后客戶端主界面在加載時就自動發(fā)送。同時向每個在線用戶發(fā)送更新在線列表的命令。然后就會發(fā)送這個命令到服務器。讓用戶得到該用戶進入聊天室的提示。然后服務器收到該命令后。更新當前群聊在線用戶的列表。PC|用戶昵稱|該命令是用戶進入私聊窗口后,發(fā)送該命令。就將該用戶昵稱添加到Client類中。那么在發(fā)送文件前會發(fā)送該命令。然后再將該信息通過他們自己的socket對象發(fā)送到他們的聊天窗口。向服務器發(fā)送的內(nèi)容就是該命令的格式。ChatTo|用戶昵稱+對方昵稱|在點擊在線用戶時,表示向在線用戶發(fā)起聊天。服務器收到命令后,然后在私聊列表中查詢當前用戶,然后把命令內(nèi)容發(fā)送給這兩個用戶。點擊發(fā)送按鈕,發(fā)送的內(nèi)容就是該命令格式。然后將該文字信息發(fā)送給這兩個用戶的聊天窗口。由客戶端主界面自動向服務器發(fā)送。 服務器能夠識別的所有命令列表客戶端應用程序包括用戶登錄窗口(用戶注冊,密碼找回,驗證碼驗證)、用戶情況的主界面、密碼修改、頭像設置、皮膚設置、路徑設置、私聊窗口(截圖、文件發(fā)送和接收、查看聊天記錄,清楚聊天記錄)、群聊窗口(截圖,查看聊天記錄,清楚聊天記錄,群內(nèi)公告編輯)。同時可以接收服務器返回的信息。? 向遠程服務器發(fā)送連接請求。? 通過網(wǎng)絡流通道與服務器端程序進行數(shù)據(jù)通信。同時也能接收服務器返回的命令??蛻舳顺绦蛴谩皘”開分割信息的各個部分。命令格式說明LIST|在線用戶昵稱1|在線用戶昵稱2|在線用戶昵稱3|…|該命令式服務器程序收到CONN命令(有新的用戶上線)或者EXIT命令(有在線用戶要下線)后,有服務器自動向當前在線客戶端發(fā)送的??蛻舳顺绦蚴盏酱嗣詈螅诟髯缘拇翱谒⑿庐斍霸诰€用戶列表 JOIN|剛上線的用戶昵稱|該命令是服務器應用程序CONN后,由服務器自動向當前在線的客戶端發(fā)送的,以此來通知所有在線用戶此時有新的用戶上線。OFFLINE|用戶昵稱下線|該命令是客戶端向服務器發(fā)送EXIT命令后,服務器收到該命令,在服務器端顯示該用戶下線。客戶端收到該命令后,就在主窗口通知該用戶已經(jīng)下線。以便通知該客戶端關(guān)閉連接同時關(guān)閉客戶程序。關(guān)閉與服務器的連接并且關(guān)閉客戶端。以便通知客戶端有用戶發(fā)起了群聊。NoticeChat|對方用戶想你發(fā)起聊天該命令式服務器端收到ChatTo命令后,由服務器解析出發(fā)送方和接收方。接收方客戶端收到此命令后就出現(xiàn)有好友向你發(fā)起來聊天的通知。然后自動發(fā)送到客戶端。PRIVCHAT|接收用戶|發(fā)送用戶|發(fā)送時間:發(fā)送內(nèi)容該命令式服務端收到PRIVCHAT命令后,然后將命令內(nèi)容重組。然后服務器在私聊列表中查找發(fā)送戶名昵稱和接收用戶昵稱。發(fā)送方的客戶端和接收方的客戶端收到此命令后,然后再聊天窗口顯示這個內(nèi)容。當發(fā)送發(fā)和接收方兩個客戶端收到此命令后,就在聊天窗口提示發(fā)送方向接收方發(fā)送文件:文件名? 通過TCP進行文件發(fā)送和接收??蛻舳烁鶕?jù)數(shù)據(jù)庫查詢對方IP和接收端口,然后連接對方。然后采BinaryReader以二進制方式進行編碼,通過TcpClient對文件進行發(fā)送。每當連接建立有文件發(fā)送,就啟動一個新的線程。最后保存到定義的路徑中。對每個聊天記錄用StreamWriter對聊天記錄用txt文本形式寫入然后保存。對于刪除聊天記錄,StreamWriter中寫入類型為false,文件存在則覆蓋之前的數(shù)據(jù)。? 截圖用CopyFromScreen來獲取整個屏幕,然后用Image來存儲。然后通過鼠標操作來獲取選區(qū)域?qū)ζ浣貓D。6系統(tǒng)的實現(xiàn)各個模塊流程圖,都有幾個部分組成。只要點擊啟動按鈕,那么服務器就啟動。服務器能看到所有用戶的狀態(tài)以及在線用戶的一些動態(tài)。在指定一個端口作為監(jiān)聽端口。當監(jiān)聽到有服務器連接該地址的端口,那么就新建一個線程來對這個客戶端的連接進行處理然后做出回應。對于ListView采用Timer的Tick()事件對數(shù)據(jù)庫實時查詢,并將每個用戶的一些基本狀況顯示在ListView中。在服務器中,我們要接收到很多客服端發(fā)來的請求和信息。服務器對客戶端監(jiān)聽及響應的代碼:listener = new TcpListener(ipAdd, port)。 (服務器已經(jīng)啟動,正在監(jiān)聽 + + : + )。 ()。 private void StartListen() { while (true) { try { Socket socket = ()。 if ( = MaxNum) { ()。 ()。 } } }
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1