【正文】
ext sbappend a Iterator iit setiterator while iithasNext String a String iitnext PrintStream pss PrintStream mappsget a pssprintln sbtoString else if codelinestartsWith giveip 要ip并發(fā)回對應(yīng)Ip String nme codelinesplit [1] String tonme codelinesplit [2] PrintStream pss mappsget nme pssprintln ip tonme mapipget tonme else if codelinestartsWith String na codelinesplit [1] String psw codelinesplit [2] if writeToFile na psw psprintln true else psprintln false else if codelinecontains states String user codelinesplit [0] String states codelinesplit [2] if statesequals 在線 Set set mappskeySet Iterator it setiterator StringBuffer sb new StringBuffer while ithasNext String a String itnext sbappend a Iterator iit setiterator while iithasNext String a String iitnext PrintStream pss PrintStream mappsget a pssprintln sbtoString else Set set mappskeySet Iterator it setiterator StringBuffer sb new StringBuffer while ithasNext String a String itnext if aequals user sbappend a Iterator iit setiterator while iithasNext String a String iitnext PrintStream pss PrintStream mappsget a pssprintln sbtoString else 發(fā)送群消息 Set set mappskeySet Iterator iit setiterator while iithasNext String a String iitnext PrintStream pss PrintStream mappsget a pssprintln codeline catch IOException e TODO Autogenerated catch block eprintStackTrace 42 客戶端設(shè)計 客戶端登錄模塊設(shè)計客戶端登錄模塊用來判斷用戶是否為合法用戶如果是則可以登錄到客戶端主界面否則將無法進入系統(tǒng)登錄窗口的運行效果如圖41所示圖41 登錄窗口在登錄窗口中輸入正確的賬戶和密碼信息然后單擊登錄按鈕即可向服務(wù)器發(fā)送登錄請求服務(wù)器會對用戶的登錄信息進行判斷然后返回相應(yīng)的處理結(jié)果 新用戶注冊模塊設(shè)計在登錄窗口中單擊注冊新用戶標簽這是將打開注冊新用戶窗口其運行效果如圖42所示圖42 注冊新用戶窗口在注冊新用戶窗口窗口中輸入用戶賬戶用戶密碼以及確認密碼信息后單擊注冊按鈕即可向服務(wù)器發(fā)送注冊請求信息服務(wù)器會對用戶的注冊信息進行判斷然后返回相應(yīng)的處理結(jié)果如果處理成功將向數(shù)據(jù)庫中添加一條用戶記錄 客戶端主界面模塊設(shè)計用戶在登錄成功后將會關(guān)閉登錄窗口同時打開客戶端主界面其運行效圖43 客戶端主界面 圖44 客戶端主界面客戶端主界面是用戶進入點對點聊天或者聊天室的通道用戶的所有操作都是通過主界面來實現(xiàn)的 點對點通信模塊設(shè)計在客戶端主界面中雙擊需要聊天的對象就可以打開聊天消息窗口從而開始點對點的通信其運行效果如圖45所示圖45 聊天消息窗口在聊天消息窗口的上半部分界面用來顯示聊天記錄下半部分用來輸入聊天內(nèi)容輸入完成后單擊其中的發(fā)送信息按鈕既可以實現(xiàn)消息的發(fā)送 一對多通信模塊設(shè)計在客戶端主界面中單擊進入聊天室按鈕就可以打開聊天室消息窗口從而開始一對多的通信其運行效果如圖46所示圖46 聊天室消息窗口在聊天室消息窗口中可以看到所有用戶發(fā)送的消息用戶也可以自己輸入消息內(nèi)容然后通過單擊發(fā)送信息按鈕來發(fā)送消息內(nèi)容 點對點文件傳輸模塊設(shè)計在聊天消息窗口中不但可以發(fā)送普通的消息文本還可以發(fā)送文件只需要單擊窗體底部的發(fā)送文件按鈕即可這是將打開文件選擇框用來選擇需要傳送的文件選擇完成后在界面上將顯示正在等待對方接收文件提示信息其運行效果如圖47所示圖47 發(fā)送文件同時在好友的聊天消息窗口中將顯示test向你發(fā)送了文件無標題 2 wma 請及時接收文件的提示信息其運行效果如圖48所示圖48 接受文件單擊其中的接受文件按鈕即可打開文件保存對話框用來選擇文件的保存路徑保存完成后界面將提示開始發(fā)送文件的提示信息當文件發(fā)送完成后界面將提示文件發(fā)送完畢的提示信息其運行效果如圖49所示圖49Java的SocketSwing以及多線程等技術(shù)開發(fā)了一個簡單的網(wǎng)絡(luò)聊天室在該系統(tǒng)中實現(xiàn)了網(wǎng)絡(luò)聊天系統(tǒng)的一些基本功能可以滿足大部門用戶在組建局域網(wǎng)后最為其公司的內(nèi)部交流工具之用在完成本畢業(yè)設(shè)計時我曾經(jīng)遇到了很多的困難既有專業(yè)知識上的也有心理因素上的不過所幸的是在面對這些困難的時候我沒有退縮而是選擇了激流勇進最終在指導(dǎo)老師XXX和同學(xué)們的幫助下將問題一個個的解決本設(shè)計由于時間有限在功能上還是比較簡單尤其是在聊天消息框的界面上過于簡單不過我相信我以后會將該設(shè)計的功能繼續(xù)增強從而達到商業(yè)軟件的標準七參考文獻 [1] Java編程思想[M]機械工業(yè)出版社20076[2] 30天學(xué)通Java項目案例開發(fā)[M]電子工業(yè)出版社20097[3] Java Swing圖形界面開發(fā)與案例詳解 [M]清華大學(xué)出版社200812[4] Java TCPIP Socket編程 原書第2版 [M]機械工業(yè)出版社20091[5] Java范例大全 [M]機械工業(yè)出版社200910[6] Java開發(fā)實戰(zhàn)經(jīng)典 [M]清華大學(xué)出版社20097[7] Java程序設(shè)計一種跨學(xué)科的方法 [M]清華大學(xué)出版社20095[8] Java程序設(shè)計教程 [M]機械工業(yè)出版社20089[9] Java從入門到精通