局域網(wǎng)內(nèi)的多功能聊天室的設(shè)計(jì)實(shí)現(xiàn)分析_第1頁(yè)
局域網(wǎng)內(nèi)的多功能聊天室的設(shè)計(jì)實(shí)現(xiàn)分析_第2頁(yè)
局域網(wǎng)內(nèi)的多功能聊天室的設(shè)計(jì)實(shí)現(xiàn)分析_第3頁(yè)
局域網(wǎng)內(nèi)的多功能聊天室的設(shè)計(jì)實(shí)現(xiàn)分析_第4頁(yè)
局域網(wǎng)內(nèi)的多功能聊天室的設(shè)計(jì)實(shí)現(xiàn)分析_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、-PAGE 0. z.- . -可修編- .JISHOUUNIVERSITY專(zhuān)業(yè)課課程論文題 目:局域網(wǎng)的多功能聊天室的設(shè)計(jì)與實(shí)現(xiàn)作 者:學(xué) 號(hào):所屬學(xué)院:信息科學(xué)與工程學(xué)院專(zhuān)業(yè)年級(jí):總 評(píng) 分:完成時(shí)間:大學(xué)信息科學(xué)與工程學(xué)院局域網(wǎng)的多功能聊天室的設(shè)計(jì)與實(shí)現(xiàn)大學(xué)信息科學(xué)與工程學(xué)院, 416000摘 要在計(jì)算機(jī)技術(shù)飛速開(kāi)展的今天,隨著Internet的普及和開(kāi)展,人們的生活和工作也越來(lái)越離不開(kāi)信息網(wǎng)絡(luò)的支持,而聊天室是人們最常見(jiàn)、最直接的網(wǎng)上交流的方式。本論文主要研究一個(gè)以網(wǎng)絡(luò)交友為主,為廣闊用戶提供一個(gè)借助網(wǎng)絡(luò)進(jìn)展人際交往的信息平臺(tái)。本文所設(shè)計(jì)的局域網(wǎng)聊天系統(tǒng)是基于開(kāi)放的WEB效勞器應(yīng)用程序

2、開(kāi)發(fā)設(shè)計(jì)的,其主要特征是能動(dòng)態(tài)完成信息的傳遞且具有高效的交互性,有效的處理客戶請(qǐng)求且具有更簡(jiǎn)單、更方便的數(shù)據(jù)庫(kù)訪問(wèn)方法,易于維護(hù)和更新。這種技術(shù)程序由JAVA、HTML、數(shù)據(jù)庫(kù)和腳本語(yǔ)言組合而成。主要功能模塊包括:用戶登錄、注冊(cè)局部;編寫(xiě)和顯示聊天記錄局部;管理員管理聊天室的管理局部。聊天系統(tǒng)編寫(xiě)和顯示聊天記錄局部界面友好,提供動(dòng)作、表情、公聊或私聊等操作;管理局部可以刪除不守規(guī)矩的注冊(cè)用戶、踢出在線用戶以及刪除*些不合時(shí)宜的聊天記錄等、根據(jù)數(shù)據(jù)庫(kù)需求分析,在ACCESS中定義3個(gè)表:用user表來(lái)存放注冊(cè)用戶信息、用activetable表來(lái)存放當(dāng)前在線用戶信息以及用message表來(lái)存放聊

3、天記錄。本系統(tǒng)相比擬其他信息交流平臺(tái)具有開(kāi)發(fā)方便、快捷,占用資源少,維護(hù)方便等優(yōu)點(diǎn)?!娟P(guān)鍵詞】Java,數(shù)據(jù)庫(kù),腳本語(yǔ)言,聊天系-. z.- .LAN of multi-function chat room design and ImplementationRaotao(College of Information Science and Engineering,Jishou University,Jishou,Hunan 416000)AbstractThe rapid development of puter technology today, with the popularity an

4、d development of Internet, peoples work and life has bee increasingly inseparable from the support of the information network, and the chat room is one of the most mon, the most direct online munication mode.In this thesis, a network of friends, for the vast number of users with a network of have th

5、e aid of interpersonal information platform.The design of the LAN chat system is based on an open WEB server application development and design, its main characteristic is to plete the information transmission dynamically with high interactivity, effective customer request and has a more simple, mor

6、e convenient database accessing method, easy maintenance and update.The technical program by JAVA, HTML, database and script language and bination.The main function modules include: user login, registration section; write and display chat recording part; the administrator manage the chat room manage

7、ment section.Chat system to prepare and display chat interface friendly, with action, e*pression, the public chat or operation; management can remove the unruly registered user, play online user and delete certain be inopportune or inappropriate chat records, according to the database needs analysis

8、, defined in ACCESS 3: user table table for registered users of information, using activetable table to store the current online user information and the use of message table to store the chat record.This system is pared with other information e*change platform with the development of convenient, fa

9、st, less resource occupation, easy maintenance and other advantages.Key words:JAVA; datacapture; information analysis ;Winpcap;Jpcap-. z.目 錄 TOC o 1-3 h z u HYPERLINK l _Toc339221411第一章引言 PAGEREF _Toc339221411 h 1HYPERLINK l _Toc3392214121.1課題背景及意義 PAGEREF _Toc339221412 h 1HYPERLINK l _Toc3392214131

10、.2課題研究現(xiàn)狀 PAGEREF _Toc339221413 h 1HYPERLINK l _Toc3392214141.3研究容 PAGEREF _Toc339221414 h 2HYPERLINK l _Toc3392214151.4論文組織方式 PAGEREF _Toc339221415 h 2HYPERLINK l _Toc339221416第二章關(guān)鍵技術(shù) PAGEREF _Toc339221416 h 3HYPERLINK l _Toc3392214172.1 java概述 PAGEREF _Toc339221417 h 3HYPERLINK l _Toc3392214182.2套接

11、字 PAGEREF _Toc339221418 h 3HYPERLINK l _Toc3392214192.2.1 Socket簡(jiǎn)介 PAGEREF _Toc339221419 h 3HYPERLINK l _Toc3392214202.2.2 Socket工作過(guò)程 PAGEREF _Toc339221420 h 4HYPERLINK l _Toc3392214212.3 TCP三次握手 PAGEREF _Toc339221421 h 4HYPERLINK l _Toc339221422第三章需求分析 PAGEREF _Toc339221422 h 5HYPERLINK l _Toc33922

12、14233.1功能需求 PAGEREF _Toc339221423 h 5HYPERLINK l _Toc3392214243.2性能要求 PAGEREF _Toc339221424 h 5HYPERLINK l _Toc339221425處理數(shù)據(jù)能力 PAGEREF _Toc339221425 h 5HYPERLINK l _Toc339221426時(shí)間特性 PAGEREF _Toc339221426 h 5HYPERLINK l _Toc3392214273.2.3 數(shù)據(jù)庫(kù)需求 PAGEREF _Toc339221427 h 5HYPERLINK l _Toc3392214283.2.5

13、其他標(biāo)準(zhǔn)的約束 PAGEREF _Toc339221428 h 5HYPERLINK l _Toc3392214293.2.6 外部接口需求 PAGEREF _Toc339221429 h 6HYPERLINK l _Toc3392214303.2.7 通信接口 PAGEREF _Toc339221430 h 7HYPERLINK l _Toc339221431第四章概要設(shè)計(jì) PAGEREF _Toc339221431 h 8HYPERLINK l _Toc3392214324.1體系構(gòu)造設(shè)計(jì) PAGEREF _Toc339221432 h 8HYPERLINK l _Toc339221433

14、4.1.1 復(fù)審數(shù)據(jù)流、控制流 PAGEREF _Toc339221433 h 8HYPERLINK l _Toc339221434軟件體系構(gòu)造 PAGEREF _Toc339221434 h 8HYPERLINK l _Toc3392214354.2模塊設(shè)計(jì) PAGEREF _Toc339221435 h 9HYPERLINK l _Toc3392214364.2.1 用戶掃描系統(tǒng)模塊 PAGEREF _Toc339221436 h 9HYPERLINK l _Toc3392214374.2.2 在線交流系統(tǒng)模塊 PAGEREF _Toc339221437 h 10HYPERLINK l _

15、Toc3392214384.2.3 系統(tǒng)配置系統(tǒng) PAGEREF _Toc339221438 h 11HYPERLINK l _Toc339221439第五章詳細(xì)設(shè)計(jì) PAGEREF _Toc339221439 h 14HYPERLINK l _Toc3392214405.1用戶登錄模塊 PAGEREF _Toc339221440 h 14HYPERLINK l _Toc3392214415.2用戶列表模塊 PAGEREF _Toc339221441 h 15HYPERLINK l _Toc3392214425.3文本聊天模塊 PAGEREF _Toc339221442 h 17HYPERLI

16、NK l _Toc339221443第六章測(cè)試及實(shí)現(xiàn)結(jié)果 PAGEREF _Toc339221443 h 21HYPERLINK l _Toc3392214446.1測(cè)試環(huán)境 PAGEREF _Toc339221444 h 21HYPERLINK l _Toc3392214456.2測(cè)試過(guò)程 PAGEREF _Toc339221445 h 21HYPERLINK l _Toc339221446用戶登錄及用戶列表 PAGEREF _Toc339221446 h 21HYPERLINK l _Toc3392214476.2.2 文本聊天 PAGEREF _Toc339221447 h 22HYPE

17、RLINK l _Toc3392214486.2.3 文件傳輸 PAGEREF _Toc339221448 h 25HYPERLINK l _Toc339221449完畢語(yǔ) PAGEREF _Toc339221449 h 27HYPERLINK l _Toc339221450參考文獻(xiàn) PAGEREF _Toc339221450 h 28-. z.第一章引言1.1課題背景及意義在網(wǎng)絡(luò)越來(lái)越興旺的今天,人們對(duì)網(wǎng)絡(luò)的依賴越來(lái)越多,各種網(wǎng)絡(luò)應(yīng)用層出不窮,網(wǎng)絡(luò)編程越來(lái)越受大廣闊程序員的重視。網(wǎng)絡(luò)編程的目的就是指直接或間接地通過(guò)網(wǎng)絡(luò)協(xié)議與其他計(jì)算機(jī)進(jìn)展通訊。網(wǎng)絡(luò)編程中有兩個(gè)主要的問(wèn)題,一個(gè)是如何準(zhǔn)確的定位

18、網(wǎng)絡(luò)上一臺(tái)或多臺(tái)主機(jī),另一個(gè)就是找到主機(jī)后如何可靠高效的進(jìn)展數(shù)據(jù)傳輸。在TCP/IP協(xié)議中IP層主要負(fù)責(zé)網(wǎng)絡(luò)主機(jī)的定位,數(shù)據(jù)傳輸?shù)穆酚?,由IP地址可以唯一地確定Internet上的一臺(tái)主機(jī)。而TCP層則提供面向應(yīng)用的可靠的或非可靠的數(shù)據(jù)傳輸機(jī)制,這是網(wǎng)絡(luò)編程的主要對(duì)象,一般不需要關(guān)心IP層是如何處理數(shù)據(jù)的。目前較為流行的網(wǎng)絡(luò)編程模型是客戶機(jī)/效勞器C/S構(gòu)造。即通信雙方一方作為效勞器等待客戶提出請(qǐng)求并予以響應(yīng)。客戶則在需要效勞時(shí)向效勞器提出申請(qǐng)。效勞器一般作為守護(hù)進(jìn)程始終運(yùn)行,監(jiān)聽(tīng)網(wǎng)絡(luò)端口,一旦有客戶請(qǐng)求,就會(huì)啟動(dòng)一個(gè)效勞進(jìn)程來(lái)響應(yīng)該客戶,同時(shí)自己繼續(xù)監(jiān)聽(tīng)效勞端口,使后來(lái)的客戶也能及時(shí)得到效勞

19、。網(wǎng)絡(luò)聊天是網(wǎng)絡(luò)編程的典型應(yīng)用之一,編寫(xiě)網(wǎng)絡(luò)聊天軟件對(duì)于學(xué)習(xí)網(wǎng)絡(luò)編程無(wú)疑有著很大的幫助。本小組編寫(xiě)本軟件,旨在通過(guò)軟件的編寫(xiě)與實(shí)現(xiàn),來(lái)提高對(duì)網(wǎng)絡(luò)編程的理解和掌握。1.2課題研究現(xiàn)狀網(wǎng)絡(luò)數(shù)據(jù)捕獲技術(shù)是獲取信息的關(guān)鍵技術(shù),它通過(guò)監(jiān)聽(tīng)技術(shù),過(guò)濾技術(shù)獲取原始數(shù)據(jù),根據(jù)TCP/IP分層理論進(jìn)展層層拆解,提取相關(guān)協(xié)議中的信息。本設(shè)計(jì)主要通過(guò)使用Java編寫(xiě)出了一款簡(jiǎn)單的軟件對(duì)數(shù)據(jù)包信息進(jìn)展捕獲,捕獲出所需要的敏感信息,并且將捕獲出來(lái)的信息保存起來(lái)。Java是一種可以撰寫(xiě)跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計(jì)語(yǔ)言和Java平臺(tái)即

20、JavaSE,JavaEE,JavaME的總稱(chēng)。Java 技術(shù)具有卓越的通用性、高效性、平臺(tái)移植性和平安性,廣泛應(yīng)用于個(gè)人PC、數(shù)據(jù)中心、游戲控制臺(tái)、科學(xué)超級(jí)計(jì)算機(jī)、移動(dòng)和互聯(lián)網(wǎng),同時(shí)擁有全球最大的開(kāi)發(fā)者專(zhuān)業(yè)社群。在全球云計(jì)算和移動(dòng)互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢(shì)和廣闊前景1。1.3研究容網(wǎng)絡(luò)編程的目的就是指直接或間接地通過(guò)網(wǎng)絡(luò)協(xié)議與其他計(jì)算機(jī)進(jìn)展通訊。網(wǎng)絡(luò)編程中有兩個(gè)主要的問(wèn)題,一個(gè)是如何準(zhǔn)確的定位網(wǎng)絡(luò)上一臺(tái)或多臺(tái)主機(jī),另一個(gè)就是找到主機(jī)后如何可靠高效的進(jìn)展數(shù)據(jù)傳輸。在TCP/IP協(xié)議中IP層主要負(fù)責(zé)網(wǎng)絡(luò)主機(jī)的定位,數(shù)據(jù)傳輸?shù)穆酚?,由IP地址可以唯一地確定Internet上的一臺(tái)

21、主機(jī)。而TCP層則提供面向應(yīng)用的可靠的或非可靠的數(shù)據(jù)傳輸機(jī)制,這是網(wǎng)絡(luò)編程的主要對(duì)象,一般不需要關(guān)心IP層是如何處理數(shù)據(jù)的。目前較為流行的網(wǎng)絡(luò)編程模型是客戶機(jī)/效勞器C/S構(gòu)造。即通信雙方一方作為效勞器等待客戶提出請(qǐng)求并予以響應(yīng)。客戶則在需要效勞時(shí)向效勞器提出申請(qǐng)。效勞器一般作為守護(hù)進(jìn)程始終運(yùn)行,監(jiān)聽(tīng)網(wǎng)絡(luò)端口,一旦有客戶請(qǐng)求,就會(huì)啟動(dòng)一個(gè)效勞進(jìn)程來(lái)響應(yīng)該客戶,同時(shí)自己繼續(xù)監(jiān)聽(tīng)效勞端口,使后來(lái)的客戶也能及時(shí)得到效勞。網(wǎng)絡(luò)聊天是網(wǎng)絡(luò)編程的典型應(yīng)用之一,編寫(xiě)網(wǎng)絡(luò)聊天軟件對(duì)于學(xué)習(xí)網(wǎng)絡(luò)編程無(wú)疑有著很大的幫助。本軟件旨在為同一局域網(wǎng)用戶間提供便利的局域網(wǎng)效勞,局域網(wǎng)用戶可以通過(guò)此聊天軟件在各終端相互發(fā)送聊

22、天信息,同時(shí)可以快速傳送文件,方便局域網(wǎng)用戶間的快速有效通信。1.4論文組織方式首先,本論文從目前網(wǎng)絡(luò)的平安現(xiàn)狀開(kāi)場(chǎng),詳細(xì)研究了本課題的背景以及意義,由于目前我國(guó)已經(jīng)進(jìn)入了網(wǎng)絡(luò)時(shí)代,需要使用自己的網(wǎng)絡(luò)聊天信息平安系統(tǒng)來(lái)保護(hù)自己的網(wǎng)絡(luò)聊天信息系統(tǒng),尤其是對(duì)于秘密性的信息,必須將網(wǎng)絡(luò)平安和信息平安放在非常重要的地位。其次,在對(duì)本論文的背景有所了解的情況下,對(duì)本課題所必須的關(guān)鍵技術(shù)進(jìn)展了介紹,包括java的概述,套接字,三次握手等。最后,在對(duì)所必須得根底知識(shí)有所了解的情況下,按照各模塊的功能,分別詳細(xì)介紹了各個(gè)功能的實(shí)現(xiàn)過(guò)程。-. z.-. z.第二章關(guān)鍵技術(shù)2.1 java概述JAVA語(yǔ)言有下面一

23、些特點(diǎn):簡(jiǎn)單、面向?qū)ο?、分布式、解釋?zhí)行、魯棒、 平安、體系構(gòu)造中立、可移植、高性能、多線程以及動(dòng)態(tài)性。豐富的類(lèi)庫(kù)JAVA提供了大量的類(lèi)以滿足網(wǎng)絡(luò)化、多線程、面向?qū)ο笙到y(tǒng)的需要。語(yǔ)言包提供的支持包括字符串處理、多線程處理、數(shù)學(xué)函數(shù)處理等,可以用它簡(jiǎn)單地實(shí)現(xiàn)JAVA程序的運(yùn)行平臺(tái)。實(shí)用程序包提供的支持包括哈希表、堆棧、可變數(shù)組、時(shí)間和日期等。輸入輸出包用統(tǒng)一的流模型來(lái)實(shí)現(xiàn)所有格式的I/O,包括文件系統(tǒng)、網(wǎng)絡(luò)、輸入低級(jí)網(wǎng)絡(luò)包用于實(shí)現(xiàn)Socket編程。抽象圖形用戶接口包實(shí)現(xiàn)了不同平臺(tái)的計(jì)算機(jī)的圖形用戶接口部件, 包括窗口、菜單、滾動(dòng)條、對(duì)話框等,使得JAVA可以移植到不同平臺(tái)的機(jī)器。網(wǎng)絡(luò)包支持Int

24、ernet的TCP/IP協(xié)議,提供了與Internet的接口。它支持URL連接,的即時(shí)訪問(wèn),并且簡(jiǎn)化了用戶/效勞器模型的程序設(shè)計(jì)。JAVA和C、C+對(duì)于變量聲明、參數(shù)傳遞、操作符、流控制等使用了一樣的傳統(tǒng),使得熟悉C、C+的程序員能很方便地進(jìn)展編程。同時(shí), JAVA為了實(shí)現(xiàn)其簡(jiǎn)單、魯棒、平安等特性,也摒棄了C和C+中許多不合理的容。2.2套接字Socket簡(jiǎn)介Socket,簡(jiǎn)稱(chēng)套接字,用于實(shí)現(xiàn)網(wǎng)絡(luò)上客戶和效勞器之間的連接。也就是說(shuō)網(wǎng)絡(luò)上兩個(gè)或兩個(gè)以上雙工方式通信的進(jìn)程之間總有一個(gè)連接,這個(gè)連接的端點(diǎn)成為套接字,套接字是在比擬低的層次上通信的。具體的說(shuō):一個(gè)效勞器應(yīng)用程序一般偵聽(tīng)一個(gè)特定的端口等

25、待客戶端的連接請(qǐng)求,當(dāng)一個(gè)連接請(qǐng)求到達(dá)時(shí),客戶端和服武器端建立一個(gè)通信連接,在連接過(guò)程中,客戶端被分配一個(gè)本地端口與一個(gè)Socket建立連接,客戶端通過(guò)寫(xiě)Socket來(lái)通知效勞器,以讀Socket中的信息,類(lèi)似的效勞器也獲得一個(gè)本地端口,它需要一個(gè)新的端口號(hào)來(lái)偵聽(tīng)原始端口上的其他連接請(qǐng)求。效勞器也通過(guò)它的本地端口連接一個(gè)Socket,通過(guò)讀寫(xiě)和客戶端通信。Socket工作過(guò)程Socket程序的工作過(guò)程:1.建立Socket連接:在通信開(kāi)場(chǎng)之前由通信雙方確認(rèn)身份,建立一條專(zhuān)用的虛擬連接道。2.數(shù)據(jù)通信:利用虛擬連接通道傳送數(shù)據(jù)信息進(jìn)展通信。3.關(guān)閉:通信完畢時(shí),再將所建的虛擬連接撤除。2.3 T

26、CP三次握手第一次握手:原主機(jī)發(fā)送一個(gè)帶有本次連接的序號(hào)的請(qǐng)求的一個(gè)數(shù)據(jù)幀。第二次握手:目的主機(jī)收到請(qǐng)求后,如果同意連接,則發(fā)回一個(gè)帶有一個(gè)本次連接序號(hào)和源端機(jī)連接序列號(hào)確實(shí)認(rèn)。第三此握手:源端機(jī)收到含有兩次初始序列號(hào)的應(yīng)答后,再向目的主機(jī)發(fā)送一個(gè)帶有兩次連接的序列號(hào)確實(shí)認(rèn)。具體過(guò)程如下:圖2.1 三次握手協(xié)議第三章需求分析3.1功能需求做為一個(gè)局域網(wǎng)的即時(shí)聊天程序,除了根本的聊天功能,文件傳輸也是經(jīng)常用到的功能。本軟件需具有以下幾個(gè)功能:1.用戶登錄設(shè)立一個(gè)效勞器,實(shí)現(xiàn)多用戶即時(shí)通訊;用戶在登錄的同時(shí)需輸入一些個(gè)性化的信息,以便于各用戶之前的識(shí)別。2.文本聊天聊天室功能,即所謂的群聊,聊天容

27、所有人可見(jiàn);聊天功能,即所謂的私聊,聊天容僅聊天雙方可見(jiàn);用戶可對(duì)字體進(jìn)展設(shè)置。3.文件轉(zhuǎn)輸多線程,收發(fā)可同時(shí)進(jìn)展。3.2性能要求處理數(shù)據(jù)能力時(shí)間特性響應(yīng)時(shí)間:所有的發(fā)送操作響應(yīng)時(shí)間一般不超過(guò)1秒,大量的信息發(fā)送,呈現(xiàn)應(yīng)該在5秒顯示或者提示相關(guān)出錯(cuò)信息。更新處理時(shí)間:所有提交數(shù)據(jù)一般在3秒相應(yīng)。 數(shù)據(jù)庫(kù)需求聊天記錄較多,在需要時(shí)能即時(shí)存取。相關(guān)配置信息,需要時(shí)能即時(shí)讀取。 設(shè)計(jì)約束 其他標(biāo)準(zhǔn)的約束.1 硬件約束 奔騰4處理器及以上存:256M以需求規(guī)格說(shuō)明書(shū) 硬盤(pán):50M以上剩余空間.2 屬性.2.1 可用性 .2.2 可靠性 .2.3 效率.2.4 平安性 .2.5 可維護(hù)性要求類(lèi)的構(gòu)建符合

28、高聚低耦合度的要求 外部接口需求.1 用戶接口用戶界面:采用Windows的通用圖形界面,對(duì)用戶友好,且必須對(duì)鼠標(biāo)鍵盤(pán)提供支持,界面設(shè)計(jì)應(yīng)遵循:1. 盡量保持一致性:界面規(guī)應(yīng)遵循Winows軟件界面的規(guī) 2. 設(shè)計(jì)完整的對(duì)話過(guò)程:系統(tǒng)的每一次對(duì)話都應(yīng)該有明確的次序:開(kāi)場(chǎng)、中間處理過(guò)程、完畢。3. 提供簡(jiǎn)單的錯(cuò)誤處理機(jī)制 4. 提供信息反應(yīng):用多種信息提示用戶當(dāng)前軟件運(yùn)行狀態(tài),軟件界面元件的功能。5. 操作可逆:其動(dòng)作可以是單個(gè)的操作,或者是一個(gè)相對(duì)獨(dú)立的操作序列。 6. 設(shè)計(jì)良好的聯(lián)機(jī)幫助 :.2 軟件接口 本節(jié)指定需使用的其他軟件產(chǎn)品如:數(shù)據(jù)管理系統(tǒng)、操作系統(tǒng)、數(shù)學(xué)軟件包,以及同其他應(yīng)用系統(tǒng)

29、之間的接口。如果已有完整的接口文件,需在本節(jié)指明。說(shuō)明容包括: a) 接口標(biāo)識(shí);b) 功能描述; c) 數(shù)據(jù)流程和控制流程的方向;d) 數(shù)據(jù)格式、容量;e) 接口類(lèi)型如手動(dòng)或自動(dòng);f) 接口數(shù)據(jù)中斷的優(yōu)先級(jí)別;g) 中斷響應(yīng)時(shí)間; h) 異常處理等。 對(duì)每一個(gè)所需的軟件產(chǎn)品,需提供名稱(chēng)、縮寫(xiě)、規(guī)格說(shuō)明、版本號(hào)、來(lái)源等容。 通信接口本產(chǎn)品用戶各終端和效勞器屬于一個(gè)局域網(wǎng),網(wǎng)采用TCP/IP或UDP協(xié)。-. z.第四章概要設(shè)計(jì)4.1體系構(gòu)造設(shè)計(jì) 復(fù)審數(shù)據(jù)流、控制流圖4.14.1.2軟件體系構(gòu)造4.1.2.1軟件程序構(gòu)造圖圖4.2 構(gòu)造圖4.1.2.2系統(tǒng)配置子系統(tǒng)圖4.3 系統(tǒng)配置子系統(tǒng)4.1.2

30、.3消息記錄子系統(tǒng)圖4.4 消息記錄子系統(tǒng)4.2模塊設(shè)計(jì) 用戶掃描系統(tǒng)模塊圖4.5用戶掃描系統(tǒng)模塊圖4.6用戶掃描系統(tǒng)模塊 在線交流系統(tǒng)模塊圖4.7在線交流系統(tǒng)模塊 系統(tǒng)配置系統(tǒng).1 上線提示模塊圖4.8上線提示模塊 設(shè)置個(gè)人資料模塊圖4.9設(shè)置個(gè)人資料模塊 系統(tǒng)屏蔽模塊圖4.10系統(tǒng)屏蔽模塊-. z.第五章詳細(xì)設(shè)計(jì)5.1用戶登錄模塊只列出程序界面以及與效勞器端通訊局部的代碼:圖5.1用戶登錄模塊客戶端class Connect e*tends JFrame implements ActionListener, ItemListener,KeyListenerpublic void link(

31、) throws E*ception / 連接效勞器hostName = hostTe*t.getTe*t().trim();port = Integer.parseInt(portTe*t.getTe*t();client = new Socket(hostName, port);/ 創(chuàng)立一個(gè)流套接字并將其連接到指定 IP 地址的指定端口號(hào)。in = new BufferedReader(new InputStreamReader(client.getInputStream();out = new PrintWriter(client.getOutputStream();out.printl

32、n(nameTe*t.getTe*t() + & + se*);out.flush();效勞器端:public static void addConnection(Socket s, ClientProc cp)if (connections = null)connections = new Vector();connections.addElement(s);if (clients = null)clients = new Vector();clients.addElement(cp);public static void deleteConnection(Socket s, ClientP

33、roc cp)throws IOE*ceptionif (connections != null)connections.removeElement(s);s.close();if (clients != null)clients.removeElement(cp);public static Vector getClients()return clients;5.2用戶列表模塊只列出程序界面以及與效勞器端通訊局部的代碼:客戶端:public void valueChanged(ListSelectionEvent e)/ 監(jiān)聽(tīng)下拉列表的顯示容if (e.getSource() = peopl

34、eList)tryString select = (String) peopleList.getSelectedValue();if (select != null) / 確保選擇非空String userInfo = select.split();String name = userInfo0.trim(); / 提取名字if (!name.equals(chf.myName) / 不能添加自己int count = chf.perponsboBo*.getItemCount();for (int i = 0; i count; i+)chf.perponsboBo*.setSelected

35、Inde*(i);/ 選擇第i項(xiàng)String strName = (String) chf.perponsboBo*.getSelectedItem();if (name.equals(strName) / 如果已經(jīng)在列表中,就復(fù)合框中選中,所以要確保沒(méi)有重名return;/ 如果沒(méi)有添加,就會(huì)執(zhí)行下面語(yǔ)句 添加chf.perponsboBo*.addItem(name); catch (E*ception ee)System.out.println(發(fā)生錯(cuò)誤 在valueChanged + ee);public void actionPerformed(ActionEvent e)if (e

36、.getSource() = refurbishButton) / 如果監(jiān)聽(tīng)到要刷新列表trylistModel.clear(); / 清空列表chf.out.println(refurbish); / 發(fā)送刷新請(qǐng)求到效勞器chf.out.flush(); catch (E*ception ee)效勞器端:public String getName()return name;public String getSe*()return se*;public Socket getSocket()return s;private void updateList()/ 更新用戶列表即發(fā)送當(dāng)前在聊天室的用

37、戶到新來(lái)的用戶列表中Vector cs = ChatServer.getClients();if (cs != null)for (Enumeration e = cs.elements(); e.hasMoreElements();)ClientProc cp = (ClientProc) e.ne*tElement();String e*ist_name = cp.getName();String e*it_se* = cp.getSe*();/* * for (int i = 0;ics.size() ;i+ ) String e*ist_name * =(ClientProc)cs.e

38、lementAt(i).getName(); String e*it_se* = * (ClientProc)cs.elementAt(i).getSe*(); */System.out.println(old + & + e*ist_name + & + e*it_se*);out.println(old + & + e*ist_name + & + e*it_se*);out.flush();5.3文本聊天模塊只列出程序界面以及與效勞器端通訊局部的代碼:圖5.2 文本聊天模塊客戶端:if (e.getSource() = sentButton)/ 如果監(jiān)聽(tīng)到發(fā)送信息按鈕被點(diǎn)擊trymywo

39、rds = inMsgField.getTe*t();if (mywords.trim().length() != 0) / 不能發(fā)送空消息也不能都發(fā)空格if (withWho.equals(所有人)outmsg = mywords;/ 發(fā)送到效勞器out.println(outmsg);out.flush();/ 顯示到我的頻道里面insert(myMsgArea, myName + : + mywords);/myMsgArea.setCaretPosition(myMsgArea.getTe*t().length(/ ); else / 對(duì)*個(gè)人交談outmsg = withWho +

40、& + privateFalse + &+ withWho + & + mywords;if (privateTalkFlag)outmsg = withWho + & + privateTure + &+ withWho + & + mywords;insert(myMsgArea, 您對(duì) + withWho + 說(shuō): + mywords);/ myMsgArea.setCaretPosition(myMsgArea.getTe*t()./ length(); elseinsert(myMsgArea, myName + 對(duì) + withWho + 說(shuō): + mywords);/myMsgA

41、rea.setCaretPosition(myMsgArea.getTe*t().length(/ );/ 發(fā)送到效勞器out.println(outmsg);out.flush(); catch (E*ception ee)ee.printStackTrace();insert(myMsgArea, 與效勞器連接中斷,請(qǐng)重新登錄!);/ myMsgArea.setCaretPosition(myMsgArea.getTe*t().length(); finallyinMsgField.setTe*t(); / 清空輸入框效勞器端:/* * * 發(fā)送信息給所有的人*/public static

42、 void sendAll(String s)if (connections != null)for (Enumeration e = connections.elements(); / Enumeration過(guò)時(shí)的接口,/ 可以用for each循環(huán)e.hasMoreElements();)tryPrintWriter pw = new PrintWriter(Socket) e.ne*tElement().getOutputStream();pw.println(s);pw.flush(); catch (IOE*ception e*)e*.printStackTrace();System.out.println(s);/* 發(fā)送信息給單獨(dú)一個(gè)人*/public static boolean sendOne(String name, String msg)if (clie

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論