【正文】
如多種形式的聊天選擇、多人的單窗口討論式交流以及充分的文件與桌面共享功能等。知道現(xiàn)在, ICQ 已經(jīng)推出了它的 20xxa 版本,在全球即時通訊市場上占有非常重要的地位 [7]。而且,現(xiàn)在不少 IM 軟件還集成了數(shù)據(jù)交換、語音聊天、網(wǎng)絡會議、電子郵件的功能 [6]。網(wǎng)上 Shopping、網(wǎng)上銀行、網(wǎng)上聊天 、網(wǎng)絡游戲等都開始使用 Java 語言編程 。 由于社會情境的基礎發(fā)生了變化,時空特性給網(wǎng)絡時代的社會認同帶來 不確定性,甚至產(chǎn)生認同危機 [2]。 Socket。 關鍵詞 : 網(wǎng)絡聊天工具; Java; C/S; Socket 網(wǎng)絡編程 ; 圖形界面設計 The Design and Implementation of Chat Tool Based on Java Abstract: With the rapid development of Inter, the traditional way of munication interaction is too cumbersome, the information is too slow, is no longer suitable for transmission and interaction in today is society. In order to improve the people39。為此設計了一款 聊天工具 , 是 利用 Java 編程語言 中 Socket 網(wǎng)絡編程技術和圖形界面設計實現(xiàn)了網(wǎng)絡聊天工具的設計。除了文中特別加以標注引用的內(nèi)容外,本論文不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫的成果作品。本人完全意識到本聲明的法律后果由本人承擔。通過 C/S 的設計結構 ,該聊天工具很好地 實現(xiàn)服務端與客戶端之間的信息交互。s work, life and learning efficiency, enhance the munication between people of speed and convenience, chat work has bee an indispensable software application. Java based chat tools for design, design of a work chat tool using Java programming language in Socket work programming and graphical interface design. Through the C/S design pattern, realize the information interaction between the server and the client chat tool is very good. It can not only connect server from the client, and can determine whether the client connects to the server through the server, so as to ensure the reliability of the client and server connection. Chat tools can realize the fast and convenient information transfer between chat and people, and can improve the highspeed flow of information, and improve the people to make full use of the information age, so it has a certain practical value. Key words: Network Chat。 Graphical User Interfaces 2 1 緒論 選題 背景及意義 通信網(wǎng)絡是我們現(xiàn)代社會發(fā)展的“信息基礎設施”,這一定義不難看出通信技術的重要性,且隨著信息全球化的不斷發(fā)展,通信網(wǎng)絡技術也隨著得到長足的發(fā)展 [1]。因此,必須重構網(wǎng)絡時間與空間的意義,提升網(wǎng)絡時代的社 會認同 。 而且 Java 的跨平臺性 等優(yōu)點為企業(yè)和程序員減輕了不可估量的成本和負擔 [4]。 IM 軟件的歷史并不久遠,但是它一誕生,就立即收到網(wǎng)民的喜愛,并風靡全球。 目前,國內(nèi)最為流行的即時通訊軟件是 OICQ(簡稱 )。它的令人耳目一新的中 文界面和注冊方式,連同它強大的功能了,著實吸引了眾多的眼球的注視,此外還有許多有特點的 IM 軟件 [8]。本文從社會生活的微觀層面入手 ,以 聊天工具作為考察點 ,研究網(wǎng)絡空間中的人際傳播 ,特別是人與人之間的即時性互動。網(wǎng)民利用 進行即時性互動 ,隨心所欲的塑造各種角色。 微信 智能手機的廣泛普及與移動互聯(lián)網(wǎng)即時聊天工具的產(chǎn)生以及各種傳播方式的變化 ,促使人們之間的溝通方式 多元化。以微信為代表的千億美元估值預期 ,掀起了資本扎堆這一投資價值高地的熱潮。主要創(chuàng)始人為美國人馬克 20xx年 2月 1 日,F(xiàn)acebook 正式向美國證券交易委員會( SEC)提出首次公開發(fā)行( IPO)申請,目標融資規(guī)模達 50 億美元,并任命摩根士丹利、高盛和 摩根大通為主要承銷商 [13]。使用 Java 編寫的程序能在世界范圍內(nèi)共享。 Java 對程序提供了安全管理器,防止程序的非法訪問 [15]。 Java 提供了眾多的一般對象的類,通過繼承即可使用父類的方法。庫函數(shù)提供了用 HTTP 和 FTP 協(xié)議傳送和接受信息的方法。 Java 自己操縱內(nèi)存減少了內(nèi)存出錯的可能性。 Eclipse 不單單是用于 Java語言的開發(fā),還包括插件開發(fā)環(huán),這個組件主要針對希望擴展 Eclipse 的軟件開發(fā)人員 。用戶可以在集成開發(fā)環(huán)境中創(chuàng)建工程和打開工程,建立、打開和編輯文件,并可以編譯、運行和調(diào)試應用程序。 Socket 是網(wǎng)絡上運行的兩個程序間雙向通訊的一端,它既可以接受請求,也可以發(fā)送請求,利用它可以較為方便的編寫網(wǎng)絡上數(shù)據(jù)的傳遞。 getInputStream方法可以得到一個輸入流,客戶端的 Socket 對象上的 getInputStream 方法得到的輸入流其實就是從服務器端發(fā)回的數(shù)據(jù)流。發(fā)送方和接收方的成對的兩個Socket 之間 必須建 立連接,以便在 TCP 協(xié)議的基礎上進行通信,當一個 Socket(通常都是server Socket)等待建立連接時,另一個 Socket 可以要求進行連接,一旦這兩個 Socket連接起來,它們就可以進行雙向數(shù)據(jù)傳輸,雙方都可以進行發(fā)送 或接收操作 [18]。目前大多數(shù)應用軟件系統(tǒng)都是 Client/Server 形式的兩層結構,由于現(xiàn)在的軟件應 6 用系統(tǒng)正在向分布式的 Web 應用發(fā)展, Web 和 Client/Server 應用都可以進行同樣的業(yè)務處理,應用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問新的和 現(xiàn)有的應用系統(tǒng),通過現(xiàn)有應用系統(tǒng)中的邏輯可以擴展出新的應用系統(tǒng)。 功能需求 在人們的日常生活中聊天工具已經(jīng)是形影不離的工具 。隨著互聯(lián)網(wǎng)的不斷發(fā)展 , 網(wǎng)絡上出現(xiàn)各行各業(yè)的人,這樣可以讓不同職業(yè)的人之間的信息可以得到互換,不但是一種自我提高,也為社會中信息的發(fā)展提供了高效的運作。 ( 2) 用戶登錄功能 將用戶名 和密碼 填寫上去 , 進入主界面之前服務器會驗證用戶名和密碼 。 ( 6) 字體屬性設置功能 可以讓用戶選擇自己想要的字體和顏色 。 ( 4) 代碼可讀 性 文中的代碼將盡可能簡潔,易懂。 若 用戶填 寫表單的數(shù)據(jù)格式不正確或表單中存在空缺的項,客戶端給予提示信息; 用戶注冊的項 在已注冊的用戶名 中發(fā)生沖突,客戶端提示注冊不成功并提示已有用戶注冊 , 服務器 未啟動或出現(xiàn)異常,則注冊失敗。 若 服務端與客戶端連接斷開,導致客戶端信息發(fā)送失敗 ; 首先未登陸服務端 ,則無法完成公聊。 若客 服務端和客戶端的連接斷開 , 客戶端的無法連接 。 各 功能 模塊的概述 用戶注冊 該聊天工具設計了用戶注冊功能,用戶可以選擇注冊按鈕然后在注冊界面填寫自己的用戶名,選擇性別,設置密碼,填寫正確的郵箱進行注冊 ,如圖 41 所示 。 圖 44 私聊 流程 圖 選擇其他用戶 輸入信息 判斷異常 發(fā)送信息 信息顯示框 用戶 N Y 11 發(fā)送留言和文件 在聊天過程中你可以給其他用戶留言或者可以給其他在線用戶發(fā)送文件 ,如圖 45 所示。 主要成員變量 : textName,radioBoy,radioGirl。 主要成員變量: labelUserName, labelUserPwd, buttonLogin, buttonCancel。并可以在其他目的客戶界面按照自己所設置的顯示方式顯示 。 實現(xiàn)該功能用了 Advice類和 FIieToServer實現(xiàn):分別實現(xiàn)發(fā)送留言,傳送文件; 主要方法: public void actionPerformed(ActionEvent e){}//實現(xiàn) 留言發(fā)送 public void FileSent(){}//實現(xiàn)文件發(fā)送 圖 54 發(fā)送文件和留言 14 6 系統(tǒng) 功能測試 對系統(tǒng)進行功能測試的目的是為了驗證本系統(tǒng)的功能是 否滿足用戶的 基本 需求,核實該系統(tǒng)能否 成功讓用戶登錄 、接受和發(fā)送消息以及其他功能能否 正確的實施。 圖 61 登錄錯誤提示 注冊用戶 功能測試 注冊用戶功能測試用例如表 62 所示 。 17 圖 63 更新資料 錯誤提示 當用戶在發(fā)送 留言的時候留言內(nèi)容為空,這 時 系統(tǒng)給出錯誤提示,如圖 64 所示。因此本系統(tǒng)基本上已經(jīng)達到了預期的效果。但 經(jīng)過借閱相關 圖書和查閱相關資料, 逐漸的明白了該怎樣去著手這個項目,對聊天工具 有了初步的了解。 聊天工具的界面設計過程中運用了 Java Swing ,使得讓用戶感到界面更加友好,提高了工具的利用率 。在通過此次畢業(yè)設計的編寫,我懂得 不斷的 查閱相關的幫助文檔 ,來提升自己所未涉及的很多知識點 。從畢業(yè)設計 選題到完成 的整個過程 ,每一個過程都是 在導師 精心叮囑和指導下完成的 ,導師在畢業(yè)設計中為我們傾注大量心血 。盡我所知,除文中特別加以標注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得 及其它教育機構的學位或?qū)W歷而使用過的材料。除了文中特別加以標注引用的內(nèi)容外,本論文不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫的成果作品。本人授權 大學可以將本學位論文的全部或部分內(nèi)容編入有關數(shù)據(jù)庫進行檢索,可以采用影印、縮印或掃描等復制手段保存和匯編本學位論文。 、圖表要求: 1)文字通順,語言流暢,書寫字跡工整,打印字體及大小符合要求,無錯別字,不準請他人代寫 2)工程設計 類題目的圖紙,要求部分用尺規(guī)繪制,部分用計算機繪制,所有圖紙應符合國家技術標準規(guī)范。 作者簽名: 日期: 年 月 日 導師簽名: 日期: 年 月 日 24 注 意 事 項 (論文)的內(nèi)容包括: 1)封面(按教務處制定的標準封面格式制作) 2) 原創(chuàng)性聲明 3)中文摘要( 300 字左右)、關鍵詞 4)外文摘要、關鍵詞 5)目次頁(附件不統(tǒng)一編入) 6)論文主體部分:引言(或緒論)、正文、結論 7)參考文獻 8)致謝 9)附錄(對論文支持必要時) :理工類設計