Java專業(yè)課程設(shè)計(jì)聊天室含代碼_第1頁(yè)
Java專業(yè)課程設(shè)計(jì)聊天室含代碼_第2頁(yè)
Java專業(yè)課程設(shè)計(jì)聊天室含代碼_第3頁(yè)
Java專業(yè)課程設(shè)計(jì)聊天室含代碼_第4頁(yè)
Java專業(yè)課程設(shè)計(jì)聊天室含代碼_第5頁(yè)
已閱讀5頁(yè),還剩88頁(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)介

Java程序課程設(shè)計(jì)任務(wù)書

JAVA聊天室系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)

1.關(guān)鍵內(nèi)容:

用JAVA實(shí)現(xiàn)基于C/S模式聊天室系統(tǒng)。聊天室分為服務(wù)器端和用戶端兩部分,

服務(wù)器端程序關(guān)鍵負(fù)責(zé)偵聽(tīng)用戶端發(fā)來(lái)信息,用戶端需要登陸到服務(wù)器端才能夠

實(shí)現(xiàn)正常聊天功效。

2.具體要求(包含技術(shù)要求等):

系統(tǒng)功效要求:

A.服務(wù)器端關(guān)鍵功效以下:

1.在特定端口上進(jìn)行須聽(tīng),等候用戶端連接。

2,用戶能夠配置服務(wù)器端偵聽(tīng)端口,默認(rèn)端口為8888。

3,向已經(jīng)連接到服務(wù)器端用戶發(fā)送系統(tǒng)消息、。

4.統(tǒng)計(jì)在線人數(shù)。

5.當(dāng)停止服務(wù)時(shí),斷開(kāi)全部用戶連接。

B.用戶端關(guān)鍵功效以下:

1,連接到已經(jīng)開(kāi)啟聊天服務(wù)服務(wù)器端。

2.用戶能夠配置要連接服務(wù)器端IP地址和端口號(hào)。

3.用戶能夠配置連接后顯示用戶名。

4.當(dāng)服務(wù)器端開(kāi)啟話:用戶能夠隨時(shí)登錄和注銷。

5.用戶能夠向全部些人或某一個(gè)人發(fā)送消息。

學(xué)習(xí)并掌握一下技術(shù):JavaJavaBcan等

熟練使用一下開(kāi)發(fā)工具:Eclipse,JCreator等

實(shí)現(xiàn)系統(tǒng)上訴功效。

3,進(jìn)度安排:

12月28日12月29日:課程設(shè)計(jì)選題,查找參考資料

12月3()日~1月1日:完成系統(tǒng)設(shè)計(jì)

1月2日~1月5日:完成程序代碼編寫

1月6日:系統(tǒng)測(cè)試和完善

1月7日:完成課程設(shè)計(jì)匯報(bào),準(zhǔn)備答辯

4.關(guān)鍵參考文件:

[1].張廣彬孟紅蕊張永寶.Java課程設(shè)計(jì)(案例精編)[M].清華大學(xué)出版社.

摘要

在網(wǎng)絡(luò)越來(lái)越發(fā)達(dá)今天,大家對(duì)網(wǎng)絡(luò)依靠越來(lái)越多,越來(lái)越離不開(kāi)網(wǎng)絡(luò),由

此而產(chǎn)生聊天工具越來(lái)越多,比如,國(guó)外ICQ、中國(guó)騰訊企業(yè)開(kāi)發(fā)OICQ?;贘ava

網(wǎng)絡(luò)編程強(qiáng)大功效,此次畢業(yè)設(shè)計(jì)使用Java編寫一個(gè)聊天系統(tǒng)。

通常來(lái)說(shuō),聊天工具大多數(shù)由用戶端程序和服務(wù)器程序外加服務(wù)器端用于存

放用戶數(shù)據(jù)數(shù)據(jù)庫(kù)組成,本系統(tǒng)采取用戶機(jī)/服務(wù)器架構(gòu)模式經(jīng)過(guò)Java提供Soket

類來(lái)連接用戶機(jī)和服務(wù)器并使用戶機(jī)和服務(wù)器之間相互通信,因?yàn)榱奶焓嵌帱c(diǎn)對(duì)

多點(diǎn)而Java提供多線程功效用多線程可完成多點(diǎn)對(duì)多點(diǎn)聊天,數(shù)據(jù)庫(kù)管理系統(tǒng)用

SQLServer完成并經(jīng)過(guò)JDBOODBC橋訪問(wèn)數(shù)據(jù)庫(kù)。

本系統(tǒng)建立在JAVA平臺(tái)上,系統(tǒng)設(shè)計(jì)使用了面向?qū)ο蠹夹g(shù)和面向?qū)ο笤O(shè)計(jì)標(biāo)

準(zhǔn)。系統(tǒng)采取C/S結(jié)構(gòu),用戶端和用戶端和用戶端和服務(wù)器端之間經(jīng)過(guò)Socket

傳送消息。使用JAVA語(yǔ)言編寫,開(kāi)發(fā)工具采取Eclipse。服務(wù)器端設(shè)計(jì)和實(shí)現(xiàn)過(guò)

程中,采取了多線程技術(shù),能夠在單個(gè)程序當(dāng)口同時(shí)運(yùn)行多個(gè)不一樣線程,實(shí)施

不一樣任務(wù)。大大增強(qiáng)了程序?qū)Ψ?wù)器資源利用。

聊天系統(tǒng)完成后將可進(jìn)行多人對(duì)多人聊天,對(duì)好友進(jìn)行添加、刪除,對(duì)新用

戶注冊(cè),發(fā)送消息、接收消息等等功效。

關(guān)鍵詞:多線程;用戶機(jī)/服務(wù)器;JAVA;Socket;Eclipse;TCP/IP

目錄

JAVA程序課程設(shè)計(jì)任務(wù)書................................錯(cuò)誤!未定義書簽。

摘要...................................................錯(cuò)誤!未定義書簽。

目錄..................................................錯(cuò)誤!未定義書簽。

第1章引言............................................錯(cuò)誤!未定義書簽。

1.1背景..............................................錯(cuò)誤!未定義書簽。

1.2課程設(shè)計(jì)內(nèi)容.....................................錯(cuò)誤!未定義書簽。

1.3任務(wù)分工.........................................錯(cuò)誤!未定義書簽。

第2章聊天室系統(tǒng)......................................錯(cuò)誤!未定義書簽。

2.1聊天室系統(tǒng)概述....................................錯(cuò)誤!未定義書簽。

2.1.1聊天室系統(tǒng)定義...........................錯(cuò)誤!未定義書簽。

2.1.2聊天室系統(tǒng)任務(wù)及目標(biāo).....................錯(cuò)誤!未定義書簽。

2.2關(guān)鍵聊天室系統(tǒng)介紹...............................錯(cuò)誤!未定義書簽。

2.3本章小結(jié)..........................................錯(cuò)誤!未定義書簽。

第3章聊天室系統(tǒng)設(shè)計(jì)..................................錯(cuò)誤!未定義書簽。

3.1系統(tǒng)需求分析.....................................錯(cuò)誤!未定義書簽。

3.2系統(tǒng)開(kāi)發(fā)及運(yùn)行環(huán)境...............................錯(cuò)誤!未定義書簽。

3.3系統(tǒng)關(guān)鍵功效要求.................................錯(cuò)誤!未定義書簽。

3.4系統(tǒng)模塊化分析...................................錯(cuò)誤!未定義書簽。

3.4.1聊天室系統(tǒng)總體結(jié)構(gòu).......................錯(cuò)誤!未定義書簽。

3.4.2聊天室系統(tǒng)各模塊介紹.....................錯(cuò)誤!未定義書簽。

3.5系統(tǒng)數(shù)據(jù)流圖.....................................錯(cuò)誤!未定義書簽。

3.6本章小結(jié).........................................錯(cuò)誤!未定義書簽。

第4章系統(tǒng)具體實(shí)現(xiàn)....................................錯(cuò)誤!未定義書簽。

4.1界面設(shè)計(jì).........................................錯(cuò)誤!未定義書簽。

4.1.1服務(wù)器開(kāi)啟界面圖.........................錯(cuò)誤!未定義書簽。

4.1.2服務(wù)器開(kāi)啟成功界面圖.....................錯(cuò)誤!未定義書簽。

4.13用........................................戶端界面圖...............................錯(cuò)誤!未定義書簽。

4.L4用........................................戶設(shè)置界面圖.............................錯(cuò)誤!未定義書簽。

4.1.5用戶成功登錄界面圖.......................錯(cuò)誤!未定義書簽。

4.1.6兩人私聊界面圖...........................錯(cuò)誤!未定義書簽。

4L7多人群聊界面圖...........................錯(cuò)誤!未定義書簽。

4.2程序設(shè)計(jì)及調(diào)試運(yùn)行...............................錯(cuò)誤!未定義書簽。

4.2.1程序調(diào)試(以服務(wù)器為例)................錯(cuò)誤!未定義書簽。

4.2.2JCreator.................................錯(cuò)誤!未定義書簽。

4.3本章小結(jié).........................................錯(cuò)誤!未定義書簽。

第5章結(jié)束語(yǔ)..........................................錯(cuò)誤!未定義書簽。

致謝...................................................錯(cuò)誤!未定義書簽。

附錄源代碼...........................................錯(cuò)誤!未定義書簽.

第1章引言

1.1背景

當(dāng)今主流聊天工含有QQ,ICQ,MSNMessenger,YahooMessenger等,中國(guó)

最熱門當(dāng)屬Q(mào)Q,騰訊QQ(OTCQ)是由深圳市騰訊計(jì)算機(jī)系統(tǒng)企業(yè)開(kāi)發(fā),基于

Internet即時(shí)尋呼軟件。您能夠使用QQ和好友用戶進(jìn)行交流,信息即時(shí)發(fā)送,

即時(shí)回復(fù),收發(fā)立即、功效全方面。另外QQ還含有BP機(jī)網(wǎng)上尋呼、聊天室、傳

輸文件、語(yǔ)音郵件、手機(jī)短訊服務(wù)等功效,QQ不僅僅是虛擬網(wǎng)絡(luò)尋呼機(jī),更可和

傳統(tǒng)無(wú)線尋呼網(wǎng)、GSV移動(dòng)電話短消息系統(tǒng)互聯(lián),現(xiàn)在QQ和全國(guó)多家尋呼臺(tái)、移

動(dòng)通信企業(yè)有業(yè)務(wù)合作。是中國(guó)不可多得漢字網(wǎng)絡(luò)尋呼機(jī)。QQ支持顯示好友在線

信息、即時(shí)傳送信息、即時(shí)交談、即時(shí)發(fā)送文件和網(wǎng)址。QQ能夠在Win95/98/NT/

操作系統(tǒng)下運(yùn)行,是十分靈活網(wǎng)絡(luò)尋呼工具。它會(huì)自動(dòng)檢驗(yàn)?zāi)欠褚崖?lián)網(wǎng),假如

您電腦已連入Internet,能夠搜索網(wǎng)友、顯示在線網(wǎng)友,能夠依據(jù)QQ號(hào)、昵稱、

姓名、email地址等關(guān)鍵詞來(lái)查找,找到后可加入到通訊錄中。當(dāng)您通訊錄中網(wǎng)

友在線時(shí),QQ中好友頭像就會(huì)顯示在線,依據(jù)提醒就能夠發(fā)送信息,假如對(duì)方登

記了尋呼機(jī)或開(kāi)通了GSM手機(jī)短消息,即使離線了,您也可立即將信息傳輸給您

好友。

即使以上這些軟件是無(wú)償,而且功效越來(lái)越強(qiáng)大。不過(guò)它們唯一不足就是必

需要聯(lián)網(wǎng)或下載到它們服務(wù)端,要不然是沒(méi)法脫離Intenet使用。為了能在一個(gè)

沒(méi)有連接到Intenet局域網(wǎng)使用聊天工具,那就必需要有服務(wù)器端。

本系統(tǒng)就是包含服務(wù)器端和用戶端,能夠在局域網(wǎng)聊天一個(gè)工具。

1.2課程設(shè)計(jì)內(nèi)容

實(shí)現(xiàn)是局域網(wǎng)中聊天功效,運(yùn)行服務(wù)程序后,服務(wù)器創(chuàng)建成功,然后

使服務(wù)器對(duì)某一個(gè)設(shè)定端口處于監(jiān)聽(tīng)狀態(tài),當(dāng)有用戶端請(qǐng)求建立連接時(shí),服

務(wù)器就可接收請(qǐng)求,建立連接!這么服務(wù)那和用戶端就可相互發(fā)送消息,實(shí)

現(xiàn)聊天功效!

系統(tǒng)功效要求:

A.服務(wù)器端關(guān)鍵功效以下:

L在特定端口上進(jìn)行偵聽(tīng),等候用戶端連接。

2.用戶能夠配置服務(wù)器端偵聽(tīng)端口,默認(rèn)端口為8888o

3.向已經(jīng)連接到服務(wù)器端用戶發(fā)送系統(tǒng)消息。

4.統(tǒng)計(jì)在線人數(shù)。

5.當(dāng)停止服務(wù)時(shí),斷開(kāi)全部用戶連接。

B.用戶端關(guān)鍵功效以下:

1.連接到已經(jīng)開(kāi)啟聊天服務(wù)服務(wù)器端。

2.用戶能夠配置要連接服務(wù)器端IP地址和端口號(hào)。

3.用戶能夠配置連接后顯示用戶名。

4.當(dāng)服務(wù)器端開(kāi)啟話,用戶能夠隨時(shí)登錄和注銷。

5.用戶能夠向全部些人或某一個(gè)人發(fā)送消息

1.3任務(wù)分工

第2章聊天室系統(tǒng)

2.1聊天室系統(tǒng)概述

聊天室是一個(gè)基于互聯(lián)網(wǎng)即時(shí)交流系統(tǒng),最初是ICQ,也稱網(wǎng)絡(luò)尋呼機(jī)。這

類軟件使得大家能夠利用連上INTERNET網(wǎng)電腦用戶能夠隨時(shí)跟另外一個(gè)在線網(wǎng)

民交談,甚至能夠經(jīng)過(guò)視頻看到對(duì)方適時(shí)圖像。使大家無(wú)須擔(dān)心昂貴話費(fèi)而暢快

交流,并工作、交流兩不誤。

2.1.1聊天室系統(tǒng)定義

聊天時(shí)系統(tǒng)是經(jīng)過(guò)即時(shí)通訊技術(shù)來(lái)實(shí)現(xiàn)在線聊天、交流軟件?,F(xiàn)在有2種架

構(gòu)形式,1、一個(gè)是C/S架構(gòu),采取用戶端/服務(wù)器形式,用戶使用過(guò)程中需要下

載安裝用戶端軟件,經(jīng)典代表有:QQ、baiduHI、SkypeQQVSGU、Gtalk、

新浪UC、MSN等;2、采取B/S架構(gòu),即瀏覽器/服務(wù)端形式,這種形式即時(shí)通

訊軟件,直接借助互聯(lián)網(wǎng)為媒介、用戶端無(wú)需安裝任何軟件,既能夠體驗(yàn)服務(wù)器

端進(jìn)行溝通對(duì)話,通常利用在電子商務(wù)網(wǎng)站服務(wù)商,經(jīng)典代表有Websitelive、

53KF、live8()()等。

2.1.2聊天室系統(tǒng)任務(wù)及目標(biāo)

本系統(tǒng)關(guān)鍵經(jīng)過(guò)用戶端,服務(wù)器端來(lái)表現(xiàn)聊天系統(tǒng)基礎(chǔ)功效。

(1)服務(wù)器端

1.處理用戶注冊(cè)

2.處理用戶登錄

3.處理用戶發(fā)送信息,服務(wù)器監(jiān)控聊天內(nèi)容,服務(wù)器過(guò)濾非法內(nèi)容

4.處理用戶得到信息

5.處理用戶退出

8.服務(wù)器踢人,

9.保留服務(wù)器口志。

10.保留用戶聊天信息。

(2)用戶端

1.用戶注冊(cè)界面及結(jié)果

2.用戶登錄界面及結(jié)果

3.用戶發(fā)送信息界面及結(jié)果

4.用戶得到信息界面及結(jié)果

5.用戶退出界面及結(jié)果

2.2關(guān)鍵聊天室系統(tǒng)介紹

現(xiàn)在中國(guó)外做聊天系統(tǒng)企業(yè)很多,產(chǎn)品也琳瑯滿目,中國(guó)有諸如騰訊QQ、

新浪UC、網(wǎng)易泡泡等,國(guó)外有著名MSN(新版更名為L(zhǎng)iveMessenger)和跨平

臺(tái)Gaim等。本人取最具代表性QQ和MSN進(jìn)行了部分研究,作為我開(kāi)發(fā)聊天系

統(tǒng)準(zhǔn)備。

騰訊無(wú)疑是中國(guó)即時(shí)通訊市場(chǎng)霸主,自從99年進(jìn)入即時(shí)通訊領(lǐng)域并快速占市

場(chǎng)以后,其在中國(guó)用戶數(shù)量一直高居榜首,即使近幾年面對(duì)微軟MSN強(qiáng)大攻勢(shì),

騰訊QQ時(shí)常擁有率仍然穩(wěn)步增加。騰訊成功和其對(duì)QQ不停創(chuàng)新和完善是分不

開(kāi)。

參考了很多網(wǎng)絡(luò)上資料,和自己經(jīng)過(guò)觀察騰訊QQ運(yùn)行時(shí)多種細(xì)節(jié)。能夠確

定騰訊QQ是以多服務(wù)器提供服務(wù)、服務(wù)潛總控用戶端、用戶端之間UDP直連通

信.而且在兩個(gè)用戶端之間不能建立直連情況二,才由服務(wù)器進(jìn)行中轉(zhuǎn)通信.

其模型圖1-1

Serveri

Scrvcr2

圖1-1騰訊QQ服務(wù)器-用戶端模型1

和騰訊QQ不一樣,微軟MSNMessenger只使用了TCP作為傳輸層通信協(xié)

議,全部用戶端和服務(wù)器進(jìn)行連接,然后經(jīng)過(guò)和服務(wù)器TCP連接進(jìn)行中轉(zhuǎn)通信。

其模型圖1-2

圖1-2MSN服務(wù)器-用戶端模型2

騰訊使用模型中,服務(wù)器關(guān)鍵處理用戶端多種狀態(tài)控制,能夠極大減輕服務(wù)

器處理壓力,但其內(nèi)部協(xié)議和實(shí)現(xiàn)復(fù)雜度全部較高。而MSNMessenger全部數(shù)據(jù)

全部要經(jīng)過(guò)服務(wù)器,服務(wù)器壓力可想而知(難怪平時(shí)極少見(jiàn)到使用MSN進(jìn)行語(yǔ)

音視頻聊天)。

2.3本章小結(jié)

這一章介紹了目前聊天室系統(tǒng)應(yīng)該含有功效模塊,并提供了市面上比較流行

聊天室系統(tǒng)作為參考。在這一章中,我們能夠了解什么是聊天室系統(tǒng),目前聊天

室系統(tǒng)市場(chǎng)需求,還有?一個(gè)聊天室系統(tǒng)應(yīng)該開(kāi)發(fā)目標(biāo)。

第3章聊天室系統(tǒng)設(shè)計(jì)

這一章是聊天室系統(tǒng)設(shè)計(jì),從系統(tǒng)需求分析開(kāi)始,介紹開(kāi)發(fā)環(huán)境和用到開(kāi)發(fā)

工具,系統(tǒng)關(guān)鍵功效設(shè)計(jì),系統(tǒng)數(shù)據(jù)步驟圖。

3.1系統(tǒng)需求分析

聊天室設(shè)計(jì)目標(biāo):經(jīng)過(guò)做鞏固所學(xué)Java語(yǔ)言基礎(chǔ)知識(shí),促進(jìn)Java語(yǔ)言編輯基礎(chǔ)

功,掌握J(rèn)DK、JCreator等開(kāi)發(fā)工具利用,拓寬常見(jiàn)類庫(kù)應(yīng)用,用JAVA實(shí)現(xiàn)基

于C/S模式聊天室系統(tǒng)。

3.2系統(tǒng)開(kāi)發(fā)及運(yùn)行環(huán)境

硬件平臺(tái):

□CPU:Pentium2.8GHz以上。

□內(nèi)存:256MB以上。

軟件平臺(tái):

□操作系統(tǒng):WindowsXPo

□運(yùn)行環(huán)境:JDKVersion1.6JCreatoro

3.3系統(tǒng)關(guān)鍵功效要求

本系統(tǒng)針對(duì)局域網(wǎng)進(jìn)行聯(lián)機(jī)聊天。聊天室分為服務(wù)器端和用戶端兩部分,服

務(wù)器端程序關(guān)鍵負(fù)責(zé)偵聽(tīng)用戶端發(fā)來(lái)信息,用戶端需要登陸到服務(wù)器端才能夠?qū)?/p>

現(xiàn)正常聊天功效。木系統(tǒng)關(guān)鍵實(shí)現(xiàn)以下功效:

服務(wù)器:

□在特定端口上進(jìn)行偵聽(tīng),等候用戶端連接。

□用戶能夠配置服務(wù)器端偵聽(tīng)端口,默認(rèn)端口為8888。

□向已經(jīng)連接到服務(wù)器端用戶發(fā)送系統(tǒng)消息。

□統(tǒng)計(jì)在線人數(shù)。

□當(dāng)停止服務(wù)時(shí),斷開(kāi)全部用戶連接。

□系統(tǒng)運(yùn)行穩(wěn)定、安全可靠。

□一臺(tái)主機(jī)只能開(kāi)啟一個(gè)服務(wù)器。

用戶端:

□連接到已經(jīng)開(kāi)啟聊天服務(wù)服務(wù)器端。

□用戶能夠配置要連接服務(wù)器端1P地址和端口號(hào)。

□用戶能夠配置連接后顯示用戶名。

□用戶能夠更改聊天時(shí)表情。

□當(dāng)服務(wù)器端開(kāi)啟后,用戶能夠隨時(shí)登錄和注銷。

□用戶能夠向全部些人或某一個(gè)人發(fā)送消息。

□系統(tǒng)運(yùn)行穩(wěn)定、安全可靠。

□能夠默認(rèn)連接到自己主機(jī)開(kāi)啟服務(wù)涉。

3.4系統(tǒng)模塊化分析

3.4.1聊天室系統(tǒng)總體結(jié)構(gòu)

關(guān)鍵功效框架以下圖所表示:

各功效模塊實(shí)現(xiàn)功效為:

服務(wù)器:

端口設(shè)置:設(shè)置傾聽(tīng)端口號(hào),默認(rèn)為8888。

開(kāi)啟服務(wù):開(kāi)啟傾聽(tīng)端口,許可用戶端連接。

系統(tǒng)消息:服務(wù)器開(kāi)啟后能夠在聊天室內(nèi)發(fā)送消息。

停止服務(wù):關(guān)閉傾聽(tīng)端口,中止全部用戶端連接。

退出:關(guān)閉服務(wù)器。

用戶端:

用戶設(shè)置:設(shè)置聊天時(shí)顯示名稱,默認(rèn)為急忙過(guò)客。

連接設(shè)置:設(shè)置要連接服務(wù)器所在主機(jī)TP地址和傾聽(tīng)端口o

登錄:連接服務(wù)器。

發(fā)送消息:進(jìn)行聊天,可單獨(dú)發(fā)送消息給聊天室中一個(gè)人。

注銷:和服務(wù)器斷開(kāi)連接。

退出:關(guān)閉用戶端。

3.4.2聊天室系統(tǒng)各模塊介紹

服務(wù)器包含服務(wù)、幫助、聊天三大模塊,其

中服務(wù)模塊包含端口設(shè)置、開(kāi)啟服務(wù)、停止

服務(wù)和退出四個(gè)小模塊

聊天模塊能夠向聊天室

發(fā)送至:斫有人▼內(nèi)全部些人或個(gè)人發(fā)送

發(fā)送消息:

系統(tǒng)消息或以管理員身

份和其它人聊天

表3/服務(wù)器各模塊名稱功效匯總表

序號(hào)模塊名基礎(chǔ)功效

1端口設(shè)置設(shè)置傾聽(tīng)端口號(hào),默認(rèn)為8888。

2開(kāi)啟服務(wù)開(kāi)啟傾聽(tīng)端口,許可用戶端連接。

3停止服務(wù)關(guān)閉傾聽(tīng)端口,中止全部用戶端連接。

4退出關(guān)閉服務(wù)器。

5幫助顯示各個(gè)模塊功效及操作方法。

6發(fā)送向聊天室內(nèi)發(fā)送系統(tǒng)消息。

-聊天室客戶亮用戶端包含操作、設(shè)置、幫助、聊天四大

____________________-J_____

操作9)設(shè)置(C)群助出)模塊,其中操作包含用戶登錄、用戶注銷

|用戶設(shè)置連接設(shè)置登錄性鎬||退出|

和退出三個(gè)小模塊,設(shè)置包含用戶設(shè)置和

連接設(shè)置兩個(gè)小模塊聊天模塊除含有一般聊天功效外,還能進(jìn)行聊天時(shí)表情選擇

發(fā)送至:恢有人e表情:微笑地口悄悄話

發(fā)送消息4發(fā)送

在線用戶1人

表3?2用戶端各模塊名稱功效匯總表

序號(hào)模塊名基礎(chǔ)功效

1用戶設(shè)置設(shè)置聊天時(shí)顯示名稱,默認(rèn)為急忙過(guò)客。

2連接設(shè)置設(shè)置要連接服務(wù)港所在主機(jī)IP地址和傾聽(tīng)端口。

3用戶登錄連接到服務(wù)器端。

4用戶注銷和服務(wù)器斷開(kāi)連接。

5退出關(guān)閉用戶端C

6發(fā)送發(fā)送聊天內(nèi)容

7悄悄話聊天內(nèi)容不會(huì)被服務(wù)器和說(shuō)話對(duì)象以外人看到

3.5系統(tǒng)數(shù)據(jù)流圖

系統(tǒng)數(shù)據(jù)流圖

3.6本章小結(jié)

本章是聊天室系統(tǒng)具體設(shè)計(jì)過(guò)程,有具體需求分析、系統(tǒng)功效模塊、系統(tǒng)數(shù)

據(jù)流圖。這里我們開(kāi)始接觸聊天室系統(tǒng)開(kāi)發(fā)最初步驟,也是很關(guān)鍵一步。

第4章系統(tǒng)具體實(shí)現(xiàn)

界面是系統(tǒng)之間最直接交互界面,界面友好性表現(xiàn)了軟件設(shè)計(jì)質(zhì)量,并在很

大程度上決定了軟件是否成功。

4.1界面設(shè)計(jì)

4.1.1服務(wù)器開(kāi)啟界面圖

4.1.2服務(wù)器開(kāi)啟成功界面圖

-二天三正芳三三______Tm

服務(wù)(5群助出)

1口設(shè)置啟動(dòng)圖務(wù)停止服務(wù)痼

船務(wù)湍已經(jīng)啟動(dòng),在888硼口偵聽(tīng)

發(fā)誨至:斫有人▼

發(fā)送消息:[|發(fā)送

4.L3用戶端界面圖

■?:天空客戶建一。卜一1Ml

操作9)設(shè)苦(Q簫曲(山

用戶設(shè)置:連接設(shè)式登錄lil退出

發(fā)送至:18m人卜|表睛:|?^?卜|二肺i活

發(fā)送消息:命送

4.1.4用戶設(shè)置界面圖

-麻天空客戶場(chǎng)

操作9)設(shè)置gttah(H)

用戶設(shè)舌連拉破看登錄才匕|退出)

發(fā)送至:叵正]表情:微笑點(diǎn);▼運(yùn)

發(fā)送消息:送法

4.1.5用戶成功登錄界面圖

-——二.\Q-

操作9)設(shè)置&)劉助(W

用戶設(shè)密傳忸設(shè)警。錄注摘退出

連箔用務(wù)01270.018888成功

發(fā)送至:所有人▼表侑:|微笑的▼

E閽瑜話

(發(fā)送

發(fā)誨消息4

在線戶1人

4.1.6兩人私聊界面圖

-,="Q,

金?

iftBlO

-、;,aw笊出傅戶。K甚,&IH?X

MW用mo?i網(wǎng)成功―MSftSi?7ooisaascT)

12345601必3心心$力WW?奘0in4”gagg見(jiàn)s

12XX?M蛇貝ROOT12乂弘量巽電!岫303K3GXGX

::|卜|

HBkHMRM???i?:「情仙為▼□UM

a*B「炭x

>SM:

him戶2人

mw戶2人

4.1.7多人群聊界面圖

4.2程序設(shè)計(jì)及調(diào)試運(yùn)行

利用JCreator”一次編寫,各處運(yùn)行”編程優(yōu)點(diǎn),按功效模塊結(jié)構(gòu)設(shè)計(jì)菜單,部署

各明細(xì)模塊工作界面,編寫各個(gè)模塊程序代碼,進(jìn)行編譯連接運(yùn)行,經(jīng)過(guò)反復(fù)調(diào)

試修改,以達(dá)成系統(tǒng)功效要求。這個(gè)過(guò)程含有大量工作量,應(yīng)仔細(xì)對(duì)每個(gè)程序細(xì)

節(jié)進(jìn)行分析思索、編寫程序并調(diào)試,做到程序簡(jiǎn)練清楚,盡可能避免可能潛在程

序錯(cuò)誤,并在必需地方加以注釋,方便于程序閱讀和修改。

4.2.1程序調(diào)試(以服務(wù)器為例)

importjava.awt.

importjava.awt.event.*;

importjavax.swing.*;

importjavax.swing,event.

importjava.net.*;

importjava.io.*;

/*

*聊天服務(wù)端主框架類

*/

publicclassChatServerextendsJFrameimplementsActionlastener{

publicstaticiniport=8888;〃服務(wù)端偵聽(tīng)端口

ServerSocketserverSocket;//月艮務(wù)端Socket

Imageicon;〃程序圖標(biāo)

JComboBoxcombobox;//選擇發(fā)送消息接收者

JTextAreeimessageShow;〃服務(wù)端信息顯示

JScrollPanemessageScro11Pane;〃信息顯示滾動(dòng)條

JTcxtFieldshowStatus;〃顯示用戶連接狀態(tài)

JLabelsendToLabel,messageLabel;

JTextFieldsysMessage;〃服務(wù)端消息發(fā)送

JButtonsysMessageButton;//服務(wù)端消息發(fā)送按鈕

L'serLinkListuserLinkList;〃用戶鏈表

//建立菜單欄

JMenuBarjMenuBar=newJMenuBarO;

〃建立菜單組

JMenuserviccMcnu=newJMcnu("服務(wù)(V)”);

〃建立菜單項(xiàng)

JMenuItemportItem=newJMenuItem("端口設(shè)置(P)”);

JMenuItemstartltem=newJMenuItem("開(kāi)啟服務(wù)(S)〃);

JMenuIternstopltcm=newJMenuItcm("停止服務(wù)(T)”);

JMenuItemexitltem=newJMenuItem(“退出(X)”);

JMenuhelpMenu=newJMenu("幫助(H)”);

JMenuItemhelpltem=newJMenuItem("幫助(H)”);

〃建立工具欄

JToolBartoolliar=newJToolBar();

〃建立工具欄中按鈕組件

JBu11onportSet;//開(kāi)啟服務(wù)端偵聽(tīng)

JButtonstartServer;〃開(kāi)啟服務(wù)端偵聽(tīng)

JButtonslopServer;〃關(guān)閉服務(wù)端偵聽(tīng)

JButtonexitButton;〃退出按鈕

〃框架大小

DimensionfaceSize=newDimension(400,60C);

ServerListenlistenThread;

JPaneldownPane1;

GridBagLayoutgirdBag;

GridBagConstraintsgirdBagCon;

/**

*服務(wù)端結(jié)構(gòu)函數(shù)

*/

publicChalServerO{

init();〃初始化程序

〃添加框架關(guān)閉事件處理

this.sctDcfaultClosoOpcration(JFramc.EXITONCLOSE);

this,pack();

〃設(shè)置框架大小

this.setSize(faceSize);

〃設(shè)置運(yùn)行時(shí)窗口位置

DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSizeO;

this.setLocation((int)(screenSize.width-faceSize.getWidthO)/2,

(int)(screenSize.height-faceSize.getHcight())/2);

this.setResizable(false);

this.setTitle("聊天室服務(wù)端〃);〃設(shè)置標(biāo)題

〃程序圖標(biāo)

icon=gctlmage("icon.gif");

this.setIcon:mage(icon);〃設(shè)置程序圖標(biāo)

show();

〃為服務(wù)菜單吧設(shè)置熱鍵'V'

serviccMonu.setMncmonic(fV');

〃為端口設(shè)置快捷鍵為c*l+p

portItem.setMnemonic('P');

portItem.setAccelerator(Keystroke.getKeyStroke

(KeyEvent.VK_P,InputEvent.CTRL_MASK));

〃為開(kāi)啟服務(wù)快捷鍵為CEl+S

startItern.setMnemonic('S');

startitem.setAccelerator(Keystroke.getKeyStroke

(KeyEvent.VK_S,InputEvent.CTRLMASK));

〃為端口設(shè)置快捷鍵為ctrl+T

stopitem.setMnemonic('T');

stopitem.setAccelerator(Keystroke.getKeyStroke

(KcyEvent.VK_T,InputEvent.CTRLMASK));

〃為退出設(shè)置快捷鍵為ctrl+x

exititem.setMnemonic('X');

exitltem.setAccelerator(Keystroke.getKeyStroke

(KcyEvent.VK_X,InputEvent.CTRLMASK));

〃為幫助菜單欄設(shè)置熱鍵'H'

helpMenu.setMnemonic('H');

〃為幫助設(shè)置快捷鍵為ctrl+p

hclpltcm.setMnemonic('H');

he1pltem.setAccelerator(Keystroke.getKeyStroke

(KeyEvent.VKH,InputEvent.CTRLMASK));

)

/**

*程序初始化函數(shù)

*/

publicvoidinit0{

Containercontentpane=getContentPane();

contentPcine.setLayout(newBorderLayout());

〃添加菜單欄

scrviccMcnu.add(portItem);

serviceMenu.add(startItem);

serviceMenu.add(stopitem);

serviceMenu.add(exitItem);

JMcnuBar.add(scrviccMcnu);

helpMenu.add(heIpItem);

JMenuBar.add(helpMenu);

setJMenuBar(jMenuBar);

〃初始化按鈕

portSet=newJButton(〃端口設(shè)置〃);

startServer=newJButton("開(kāi)啟服務(wù)”);

stopServer=newJButton("停止服務(wù)”);

exitButton=newJButton("退出”);

〃將按鈕添加到工具欄

toolBar.add(portSet);

toolBar.addSeparator();〃添加分隔欄

toolBar.add(startServer);

toolbar,add(stopServer);

toolBar.addSeparator();〃添加分隔欄

toolBar.add(exitButton);

contentpane,add(toolBar,BorderLayout.NCRTII);

〃初始時(shí),令停止服務(wù)按鈕不可用

stopServer.setEnabled(false);

stopitem.setEnabled(false);

〃為菜單欄添加事件監(jiān)聽(tīng)

portItem.addActionListener(this);

startltem.addActionListener(this);

stopitem.addActionListener(this);

exititem.addActionListener(this);

helpitem.addActionListener(this);

〃添加按鈕事件偵聽(tīng)

portSet.addActionListener(this);

startServer.addActionListener(this);

stopServer.addActionListener(this);

exitButton.addActionListener(this);

combobox=newJComboBox();

cornbobox.insertItemAt("全部些人",0);

combobox.setSelectedlndex(0);

messageShow=newJTextAreaO;

mcssagcShow.sctEditablc(falsc);

〃添加滾動(dòng)條

messageScrolIPane=newJScrolIPane(messageShow,

JScrollPane.VERTICALSCROLLBARAS.NEEDED,

JScrolIPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);

messageScrolPane.setPreferredSize(newI)imension(400,400));

messageScrolTane.revalidate();

showStatus=newJTextField(35);

showStatus.setEditable(false);

sysMessage=newJTextField(24);

sysMessage.setEnabled(false);

sysMessageButton=newJButtonO;

sysMessageButton.setText("發(fā)送”);

〃添加系統(tǒng)消息事件偵聽(tīng)

sysMessage.addActionListener(this);

sysMessageButton.addActionListcner(this);

sendToLabel=newJLabel("發(fā)送至:”);

messageLabel=newJLabel("發(fā)送消息:”);

downPane1=newJPanel();

girdBag=nevGridBagLayout();

downPane1.setLayout(girdBag);

girdBagCon=newGridBagConstraintsO;

girdBagCon.gridx=0;

girdBagCon.gridy=0;

girdBagCon.gridwidth=3;

girdBcigCon.gridheight=2;

girdBagCon.ipadx=5;

girdBagCon.ipady=5;

JLabelnone=newJLabel("");

girdBag.setConstraints(none,girdBagCon);

downPane1.add(none);

girdBagCon=newGridBagConstraints();

girdBagCon.gridx=0;

girdBagCon.gridy=2;

girdBagCon.insets=newInsetsCl,0,0,0);

girdBagCon.ipadx=5;

girdBagCon.ipady=5;

girdBag.setConstraints(sendToLabel,girdBagCon);

downPane1.add(sendToLabel);

girdBagCon=newGridBagConstraints();

girdBagCon.gridx=1;

girdBagCon.gridy=2;

girdBagCon.anchor=GridBagConstraints.LINESTART;

girdBag.setConstraints(combobox,girdBagCon);

downPane1.add(combobox);

girdBagCon=newGridBagConstraints();

girdBagCon.gridx=0;

girdBagCon.gridy=3;

girdBag.setConstraints(messageLabel,girdBagCon);

downPane1.add(messageLabel);

girdBagCon=newGridBagConstraintsO;

girdBagCon.gridx=1;

girdBcigCon.gridy=3;

girdBag.setConstraints(sysMessage,girdBagCon);

downPane1.add(sysMcssage);

girdBagCon=newGridBagConstraintsO;

girdBagCon.gridx=2;

girdBagCon.gridy=3;

girdBag.setConstraints(sysMessageButton,girdBagCon);

downPane1.add(sysMessageButton);

girdBagCon=newGridBagConstraintsO;

girdBagCon.gridx=0;

girdBagCon.gridy=4;

girdBagCon.gridwidth=3;

girdBag.setConstraints(showStatus,girdBagCon);

downPane1.add(showStatus);

contentpane.add(messageScrolIPane,BorderLayout.CENTER);

contentPcine.add(downPane1,BorderLayout.SOUTH);

〃關(guān)閉程序時(shí)操作

this.addWindowListcncr(

newWindowAdapter(){

publicvoidwindowC1osing(WindcwEvente){

stopService();

System,exit(0);

)

1

);

)

/**

*事件處理

*/

publicvoidactionPerformed(ActionEvente){

Objectobj=e.getSourceO;

if(obj==startServer||obj==startitem){//開(kāi)啟服務(wù)端

startService();

}

elseif(obj=stopServer||obj==stopItem){〃停止服務(wù)端

intj=JOptionPane.showConfirmDia1og(

this,“真停止服務(wù)嗎?",〃停止服務(wù)”,

JOptionPane.YESJ)PTION,JOptionFane.QUESTION_MESSAGE);

if(j==JOptionPane.YES_OPTION){

stopService0;

)

)

elseif(obj==portSet||obj==portitem){〃端口設(shè)置

〃調(diào)出端口設(shè)置對(duì)話框

PortConfportConf=newPortConf(this);

portConf.show();

)

elseif(obj==exitButton|Iobj==exitItem){〃退出程序

intj=JOptionPane.showConfirmDialog(

this,“真要退出嗎?",〃退出”,

JOptionPane.YESOPTION,JOptionFane.QUESTIONMESSAGE);

if(j==JOptionPane.YES_OPTION){

stopScrviceO;

System,exit(0);

)

)

elseif(obj==he1pitcm){//菜單欄中幫助

〃調(diào)出幫助對(duì)話框

HelphelpDialog=newHelp(this);

helpDialog.show();

}

elseif(obj=sysMessage|obj==sysMessageliutton){//發(fā)送系統(tǒng)消息

sendSystemMessage0;

)

)

/**

*開(kāi)啟服務(wù)端

*/

publicvoidstartService(){

try(

servcrSocket=newScrvcrSockct(port,10);

messageShow.append("服務(wù)端已經(jīng)開(kāi)啟,在“+port+”端口偵聽(tīng)...\n");

startServer.setEnabled(false);

startlten.setEnabled(false);

portSet.setEnabled(false);

portltem.setEnabled(false);

stopServer.setEnabled(true);

stopitem.setEnabled(true);

sysMossagc.setEnabled(true);

}

catch(Exceptione){

//System.out.println(e);

)

userLinkList=newUserlJnkList();

listenThread=newServerListen(serverSocket,combobox,

messagoShow,showStatus,userLinkList);

1istenThread.start();

)

/**

*關(guān)閉服務(wù)端

*/

4.2.2JCreator

Jcreator是一個(gè)用于Java程序設(shè)計(jì)集成開(kāi)發(fā)環(huán)境,含有編輯、調(diào)試、運(yùn)行Java程

序功效。目前最新版本是Jcreato「3.10,它又分為L(zhǎng)E和Pro版本。LE版本功效上

受到部分限制,是無(wú)償版本。Pro版本功效最全,但這個(gè)版本是一個(gè)共享軟件。

這個(gè)軟件比較小巧,對(duì)硬件要求不是很高,完全用C++寫,速度快、效率高。含

有語(yǔ)法著色、代碼自動(dòng)完成、代碼參數(shù)提醒、工程向?qū)?、類向?qū)У裙π?。第一?/p>

開(kāi)啟時(shí)提醒設(shè)置JavaJDK主目錄及JDKJavaDoc目錄,軟件自動(dòng)設(shè)置好類路徑、

編譯器及解釋器路徑,還能夠在幫助菜單中使用JDKHelpo

4.3本章小結(jié)

本章介紹了系統(tǒng)具體實(shí)現(xiàn)和部分關(guān)鍵代碼,其中包含用戶登錄所要用到函數(shù)

和主界面框架設(shè)計(jì)。

第5章結(jié)束語(yǔ)

本文討論了怎樣利用JAVA技術(shù)開(kāi)發(fā)聊天室系統(tǒng),基礎(chǔ)滿足了結(jié)構(gòu)化、界面

友好、速度快、安全性和穩(wěn)定性等特點(diǎn)。

系統(tǒng)著重研究并實(shí)現(xiàn)了網(wǎng)絡(luò)應(yīng)用部分。依據(jù)實(shí)現(xiàn)情況看,含有較友好聊天界

面生成效果,和流暢網(wǎng)絡(luò)通信效果。生成聊天室能夠達(dá)成基礎(chǔ)聊天要求,含有較

高研究?jī)r(jià)值。

系統(tǒng)含有現(xiàn)在聊天室基礎(chǔ)功效:包含支持語(yǔ)氣選擇,支持私聊,能夠給全部

聊友發(fā)公共信息,含有速度快,高穩(wěn)定性,占用系統(tǒng)資源少,用戶界面友好等特

點(diǎn)。

經(jīng)過(guò)畢業(yè)設(shè)計(jì),發(fā)覺(jué)自己在理論研究和實(shí)際工作能力等方面全部得到了提

升,受益匪淺,同時(shí)在老師指導(dǎo)利課題組同學(xué)共同幫助下,立即總結(jié)研究結(jié)果,

這些無(wú)疑會(huì)對(duì)我以后工作和學(xué)習(xí)帶來(lái)很大幫助。

致謝

附錄源代碼

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjavax.swing.event.*;

import.*;

importjava.io.*;

/*

*聊天服務(wù)端主框架類

*/

publicclassChatServerextendsJFrameimplementsActionListenerl

publicsialicintport=8888;〃服務(wù)端偵聽(tīng)端口

ServerSocketserverSocset;〃服務(wù)端Socket

Image沁on;〃程序圖標(biāo)

JComboBoxcombobox;〃選擇發(fā)送消息接收者

JTcxtArcamessageShow;〃服務(wù)端信息顯示

JScrollPanemessageScrollPaneJ/信息顯示滾動(dòng)條

JTextFieldshowSlatus;〃顯示用戶連接狀態(tài)

JLabelsendToLabel.messageLabel;

JTextFieldsysMessage::/服務(wù)端消息發(fā)送

JBultonsysMessageBullon;〃服務(wù)端消息發(fā)送按鈕

UserLinkListuserLinkList;〃用戶鏈表

〃建立菜單欄

JMenuBarjMenuBar=lewJMenuBar();

〃建立菜單組

JMenuserviceMenu=newJMenu("服務(wù)(V)”);

〃建立菜單項(xiàng)

JMenuItemportItem=newJMenuItem("端口設(shè)置(P)”);

JMenuItenisiartltem=newJMenuItem("開(kāi)啟服務(wù)(S)”);

JMenuItemstopltem=newJMenuIiein("停止服務(wù)(T)");

JMenuItemcxiiliefn=ncwJMcnii【【cni("退出(X)");

JMcnuhelpMenu=ncwJMenu("幫助(H)");

JMenullemhelpltem=ncwJMenuItem("幫助(H)");

〃建立工具欄

JToolBartoolBar=newJToolBarQ;

〃建立工具欄中按鈕組件

JButionponSet;〃咒:啟服務(wù)端彳貞明:

JButtonstartServer:〃開(kāi)啟服務(wù)端偵聽(tīng)

JButtonsiopServer;〃關(guān)閉服務(wù)端偵聽(tīng)

JBulloncxilBullon;〃退出按鈕

〃框架大小

DimensionfaccSizc=newDimcnsion(4()0.60());

ServerListenlistenThread;

JPaneldownPanel;

GridBagLayoutgirdBag;

GridBagConstraintsgirdBagCon;

/*?

,服務(wù)端結(jié)構(gòu)函數(shù)

*/

publicChatServer(){

init();〃初始化程序

〃添加框架關(guān)閉事件處理

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.pack();

〃設(shè)置框架大小

this.setSize(faceSize);

〃設(shè)置運(yùn)行時(shí)窗口位置

DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();

this.setLocation((int)(screenSize.width-faceSize.get\Vidth())/2,

(int)(screenSize.height-faceSize.getHeight())/2);

this.setResizable(false);

this.selTitle("聊天室服務(wù)端)〃設(shè)置標(biāo)題

〃程序圖標(biāo)

icon=gethnage("icon.gif');

this.setlconlmage(icon);〃設(shè)置程序圖標(biāo)

show。;

〃為服務(wù)菜單欄設(shè)理熱鍵V

serviccMenu.sctMnenionic('V');

〃為端口設(shè)置快提鍵為ctrl+p

portitem.sctMncir.onic('P1);

portltein.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P.InputEvent.CTRL_MASK));

〃為開(kāi)啟服務(wù)快捷鍵為cirl+s

startitem.setMnemonic('S');

start!tem.setAcceisrator(KeyStroke.getKeyStroke(KeyEvent.VK_S.InputEvent.CTRL_MASK));

〃為端口設(shè)置快捷鍵為ciH+T

siophcm.setMnemonic(T);

stopitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T,InputEvent.CTRL_MASK));

〃為退出設(shè)置快捷鍵為ctrl+x

exitlteni.setMnemonic('X');

exitltem.setAccelerator(KeyStroke.getKeyStroke(KeyEvenl.VK_X,InpulEvent.CTRL_MASK));

〃為幫助菜單欄設(shè)置熱鍵H

helpMenu.setMnemonic('H');

〃為幫助設(shè)置快捷鍵為cirl+p

helpitem.setMnemonic('H');

helpitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,InputEvent.CTRL_MAS<));

*程序初始化函數(shù)

?/

publicvoidinit(){

ContainercontentPane=gelCon(entPane();

contentPane.sclLayout(newBorderLayouK));

〃添加菜單欄

serviceMenu.add(portitem);

serviccMcnu.add(startitem);

scniceMcnu.add(slopllem);

scrviccMcnu.add<cxitltcm);

jMenuBar.add(serviceMenu);

helpMenu.add(helpltem);

jMenuBar.add(helpMenu);

setJMenuBar(jMenuBar);

〃初始化按鈕

portSet=newJBiUon("端口設(shè)置");

startServer=newJButton("開(kāi)啟服務(wù)");

stopServer=newJButton("停止服務(wù)");

cxitBulton=newJBullon("退出");

〃將按鈕添加到工具欄

toolBar.add(portSet);

toolBar.addSepara(or()^/i^S加分隔欄

toolBar.add

溫馨提示

  • 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)論