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

正文內(nèi)容

java課程設(shè)計(jì)聊天小程序-資料下載頁(yè)

2025-06-05 10:24本頁(yè)面
  

【正文】 et s,ClientWindows cw){ //初始化 socket=s。 clientWindow=cw。 } public void run(){ String msg=null。 BufferedReader br=null。 try{ //建立輸入流 br=new BufferedReader(new InputStreamReader(()))。 } catch(IOException ReadError){ (讀入流建立錯(cuò)誤,程序關(guān)閉!! )。 try{ ()。 (與服務(wù)器連接已經(jīng)斷開??! )。 (0)。 } catch(IOException closeError){} (0)。 } while(true){ //讀取數(shù)據(jù)流的信息 try{ msg=()。 //獲 得信息 } catch(IOException e){ try{ ()。 (與服務(wù)器連接已經(jīng)斷開??! )。 (0)。 } catch(IOException closeError){} (0)。 } msg=msgChange(msg)。 //轉(zhuǎn)變讀取到的信息 if(msg!=null) (msg)。 //向聊天窗口添加新聊天內(nèi)容 } } private String msgChange(String msg){ if(()){ //刪除摸一個(gè)用戶的信息 for(int i=1。i()。i++){ if((i).toString().equals((3))) (i)。 } (0)。 return null。 } else if(()){ //增加某一個(gè)用戶信息 ((2))。 (0)。 return null。 } else if(()){ //系統(tǒng)提示 msg=!+(1)。 if((!您使用的昵稱 :)) =(8)。 } return msg。 } } 設(shè)計(jì)結(jié)果與分析 (可以加頁(yè) ): 運(yùn)行 ChatServer 服務(wù)端 ,運(yùn)行 ChatClient 端的界面如下圖: 當(dāng)打開兩個(gè)或者多個(gè)客戶端時(shí):實(shí)現(xiàn)多人會(huì)話或者一對(duì)一的會(huì)話 ,界面如下圖 私聊即點(diǎn)擊想要私聊的用戶名即可; 設(shè)計(jì)體會(huì)與建議: 該實(shí)驗(yàn)中運(yùn)用到了一些以前沒(méi)有了解的東西: 首先是 . Accept方法用于產(chǎn)生 阻塞 ,直到接受到一個(gè)連接,并且返回一個(gè)客戶端的 Socket對(duì)象 實(shí)例。 阻塞 是一個(gè)術(shù)語(yǔ),它使程序運(yùn)行暫時(shí) 停留 在這個(gè)地方,直到一個(gè)會(huì)話產(chǎn)生,然后 程序繼續(xù);通常 阻塞 是 由循環(huán)產(chǎn)生的 。 . getInputStream 方法獲得網(wǎng)絡(luò)連接輸入,同時(shí)返回一個(gè) IutputStream 對(duì)象實(shí)例。 . getOutputStream方法連接的另一端將得到輸入,同時(shí)返回一個(gè) OutputStream 對(duì)象實(shí)例。 注意:其中 getInputStream 和 getOutputStream 方法均會(huì)產(chǎn)生一個(gè) IOException,它必須被捕獲,因?yàn)樗鼈兎祷氐牧鲗?duì)象,通常都會(huì)被另一個(gè)流對(duì)象使用。 其次是:提供固定的服務(wù)方是怎么建立的, java提供了 ServerSocket支持,創(chuàng)建該類的一 個(gè)實(shí)例對(duì)象并提供一個(gè)端口資源就可以創(chuàng)建一個(gè)固定的地址。要注意的一點(diǎn)是端口的分配必 須是唯一的。因?yàn)槎丝谑菫榱宋ㄒ粯?biāo)示每臺(tái)計(jì)算機(jī)的唯一服務(wù)。另外端口號(hào)是從 0— 65535 之間的,前面 1024已經(jīng)被 tcp/ip所占有,因此所分配的端口只能是 1024后面的一些端口。 再就是:簡(jiǎn)單的程序只能實(shí)現(xiàn)兩臺(tái)計(jì)算機(jī)之間的交流,如何實(shí)現(xiàn)多個(gè)客戶同時(shí)訪問(wèn)一個(gè)服務(wù) 器呢?服務(wù)器是通過(guò) accept方法同意和客戶建立連接的。我們只要在外層建立一個(gè) while 循環(huán)就可以實(shí)現(xiàn)該功能,但是新的問(wèn)題依然會(huì)存在的,那 就是雖然解決的多客戶的運(yùn)行,但 是是排隊(duì)執(zhí)行的。也就是說(shuō)一個(gè)客戶與服務(wù)器完成了通訊后,才能進(jìn)行下次的通訊,這樣我 們可以直接從 thread類繼承下來(lái)。并且通過(guò)構(gòu)造函數(shù)傳遞引用和客戶 Socket建立聯(lián)系,這 樣每個(gè)線程都有一個(gè)通訊管道,同樣我們可以填寫 run方法,把之前的操作交給線程來(lái)運(yùn)行, 這樣多客戶并行的 Socket就建立了。 建議: 我們可以實(shí)現(xiàn)傳遞語(yǔ)音信息,和視屏信息,同時(shí)添加一些表情符號(hào)等等完善一下該聊天小程序。 設(shè)計(jì)成績(jī): 教師簽名: 2021 年 12 月 31 日
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1