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

正文內(nèi)容

精品畢業(yè)論文--基于java的局域網(wǎng)聊天軟件設(shè)計(jì)-資料下載頁(yè)

2024-12-01 22:55本頁(yè)面

【導(dǎo)讀】在網(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ó)內(nèi)騰訊公司開(kāi)發(fā)的OICQ?;贘ava網(wǎng)絡(luò)編程的強(qiáng)大功能,本次畢業(yè)設(shè)計(jì)使用Java編寫一個(gè)聊天系統(tǒng)。是多點(diǎn)對(duì)多點(diǎn)的而Java提供的多線程功能用多線程可完成多點(diǎn)對(duì)多點(diǎn)的聊天,數(shù)據(jù)庫(kù)管理系統(tǒng)用SQLServer2020完成并通過(guò)JDBC-ODBC橋訪問(wèn)數(shù)據(jù)庫(kù)。系統(tǒng)采用C/S結(jié)構(gòu),客戶端與客戶端以及客戶端與服務(wù)器端之間通過(guò)。程,執(zhí)行不同的任務(wù)。大大增強(qiáng)了程序?qū)Ψ?wù)器資源的利用。用戶的注冊(cè),發(fā)送消息、接受消息等等功能。

  

【正文】 if ((登錄成功 )) { new ChatRoom((String) , strServerIp)。 ()。 // 關(guān)閉流對(duì)象 ()。 ()。 ()。 } else { (null, status)。 ()。 ()。 ()。} } // login()結(jié)束 聊天室 當(dāng)用戶登錄成功后,用戶的登錄界面將會(huì)隱藏,然后創(chuàng)建用戶聊天室窗口,在界面的標(biāo)題欄將會(huì)顯示當(dāng)前登錄用戶的用戶名,以防止一個(gè)機(jī)器上的用戶開(kāi)多個(gè)賬號(hào)進(jìn)入聊天室后分不清哪個(gè)窗口是哪個(gè)用戶登錄的,界面第一行將顯示當(dāng)前在線人數(shù)。位于界面正中的兩個(gè)控件分別是 List 和 TextBox 用來(lái)顯示當(dāng)前服務(wù)器上的在線會(huì)員 名單列表和公共聊天信息。 位于界面下方的就是一些用于聊天的功能控件和聊天內(nèi)容個(gè)性化配置控件。包括聊天對(duì)象,聊天語(yǔ)氣,聊天內(nèi)容,聊天字體,風(fēng)格,大小,顏色 ?? . 用戶發(fā)送信息 用戶 需要發(fā)送信息時(shí),在聊天內(nèi)容里寫下要發(fā)送的信息,然后點(diǎn)擊發(fā)送就可以發(fā)送到其他客戶端,也可以選擇私聊,聊天表情,聊天信息通過(guò)服務(wù)器發(fā)送到其他客戶端。如圖: 24 當(dāng)多個(gè)用戶同時(shí)在線時(shí)可以對(duì)某個(gè)人私聊,而第三個(gè)人的聊天界面會(huì)被屏蔽掉。 // 發(fā)送 按鈕 public void sendMessage() { Chat chatobj = new Chat()。 = strLoginName。 = ()。 = (())。 = () ? true : false。 = ().toString()。 // 向服務(wù)器發(fā)送信息 try { Socket toServer = new Socket(strServerIp, 1001)。 25 ObjectOutputStream outObj = new ObjectOutputStream(toServer .getOutputStream())。 (chatobj)。 ()。 // 清空文本框 ()。 ()。 } catch (Exception e) { } } // sendMessage()結(jié)束 保存聊天記錄 當(dāng)用戶 需要保存聊天記錄時(shí)可以直接點(diǎn)擊“保存”按鈕,為了防止多用戶聊天記錄文件沖突問(wèn)題,聊天記錄將會(huì)以“用戶名 ”為文件名,將信息保存在當(dāng)前應(yīng)用程序目錄下。如圖 保持模塊程序: // 保存 按鈕 public void saveMessage() { try { FileOutputStream fileoutput = new FileOutputStream( + , true)。 String temp = ()。 // (temp)。 (())。 ()。 (null, 聊天記錄保存在 + + )。 } catch (Exception e) { (e)。 } } 顯示系統(tǒng)時(shí)間 當(dāng)用戶 需要查看當(dāng)前時(shí)間時(shí),可以直接點(diǎn)擊“時(shí)鐘”按鈕,將會(huì)啟動(dòng)一個(gè)漂亮的電子時(shí)鐘, 26 時(shí)鐘模塊程序: public void actionPerformed(ActionEvent e) { ()。 } public void paint( Graphics g ) { Insets insets = getInsets()。 int L0 = ()/2, T0 = ()/2。 int hh,mm,ss。 String st。 h=getSize().height。 //繪制圓形 ?????????? ?????????? //獲取時(shí)間 Calendar now=()。 hh=()。//小時(shí) mm=()。//分鐘 ss=()。// 秒 ()。 (L0,T0,60,28)。//填充的矩 形 ()。 if (hh 10) st=0+hh。 else st=+hh。 if (mm 10) st=st+:0+mm。 else st=st+:+mm。 if (ss 10) st=st+:0+ss。 else st=st+:+ss。 (st,L0,T0+25)。 //計(jì)算時(shí)間和圖形的關(guān)系 sdo=90ss*6。 mdo=90mm*6。 27 hdo=90hh*30mm/2。 //擦除秒針 ??????????? //繪制秒針 ()。 x=(int)((r8)*(RAD*sdo)+x0)。 y=(int)((r8)*(RAD*sdo)+y0)2*T0。 (x0,y0,x,(hy))。 old_X=x。 old_Y=y。 //繪制分針 line(g,mdo,(int)(r*),)。 //繪制時(shí)針 line(g,hdo,(int)(r*),)。 } // end paint 圖 422 屏蔽聊天信息 FileReader fileReader = new FileReader(files)。 BufferedReader read = new BufferedReader(fileReader)。 while (true) { String line = ()。 if (line == null) { break。} fileString += (line)。 // fileString += (line + \n)。 } ()。 // (fileString)。 } catch (FileNotFoundException e) { 28 // TODO 自動(dòng)生成 catch 塊 ()。 } catch (IOException e) { // TODO 自動(dòng)生成 catch 塊 ()。 } return fileString。 } 退出聊天系統(tǒng) 當(dāng)前用戶點(diǎn)擊“退出”按鈕或者關(guān)閉窗口時(shí),系統(tǒng)將會(huì)把用戶退出的信息打包成對(duì)象發(fā)送給服務(wù)器,并退出客戶端程序。 // 退出 按鈕 public void exit() { Exit exit = new Exit()。 = strLoginName。 // 發(fā)送退出信息 try { Socket toServer = new Socket(strServerIp, 1001)。 // 向服務(wù)器發(fā)送信息 ObjectOutputStream outObj = new ObjectOutputStream(toServer .getOutputStream())。 (exit)。 ()。 ()。 ()。 // ()。 } catch (Exception e) { } private void exitChatRoom() { exit()。 } 出現(xiàn)異常信息 在用戶聊天時(shí),當(dāng)服務(wù)器關(guān)閉或者與服務(wù)器無(wú)法連接時(shí),客戶端將會(huì)給出“不能連接到服務(wù)器!”的信息。并在用戶查看 后退出客戶端。 29 參考文獻(xiàn) [1] 孟凡榮.?dāng)?shù)據(jù)庫(kù)原理與應(yīng)用.中國(guó)礦業(yè)大學(xué), 2020( 8) 2830 [2] 張虹.軟件工程與軟件開(kāi)發(fā)工具.清華大學(xué)出版社. 2020( 1) 5575 [3] Bruce Eckel. Thinking in Java.機(jī)械工業(yè)出版社. 2020( 6) 4264 [4] 羅軍舟等. TCP/IP 協(xié)議及網(wǎng)絡(luò)編程技術(shù).清華大學(xué)出版社. 2020( 10) [5] 孫一林,彭波. Java 網(wǎng)絡(luò)編程實(shí)例.清華大學(xué)出版社. 2020( 4) [6] 李樹(shù)青. Java 通用范例開(kāi)發(fā)金典.電子工業(yè)出 版社. 2020 [7] 王鵬. Java Swing 圖形界面開(kāi)發(fā)與案例詳解.清華大學(xué)出版社. 2020 [8] 龐永慶,翟鵬. Java 完全自學(xué)寶典.清華大學(xué)出版社. 2020 [9] 劉永華,于春花. Java 網(wǎng)絡(luò)編程.清華大學(xué)出版社. 2020 [10] Boost Documentation, 或 [11] Documentation, [12] 孫桂蘭 .電子商務(wù)網(wǎng)上書店系統(tǒng) .北京 :人民郵電出版社 ,2020 [13] Jalote control limits for employing statistical process control in software process. IEEE Trans on Software Engineering, 2020, 28(12) [14] 薩師煊, 王珊 .數(shù)據(jù)庫(kù)系統(tǒng)概述 .第三版 .北京: 高等教育出版社 , 2020. [15] B. Ford, ., P. Srisuresh, etc. PeertoPeer (P2P) munication across middleboxes. 2020 [16] 飛思科技產(chǎn)品研發(fā)中心 . Java 2 應(yīng)用開(kāi)發(fā)指南 [J]. 北京 :電子工業(yè)出版社 , 2020 [17] 薛為民 , 夏文紅 , 解侖 .Java 應(yīng)用教程 北京:北京交通大學(xué)出版社 2020 [18] [19] [20] [21] 30 致 謝 感謝 。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1