2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩5頁(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)介

1、JavaNIO處理長(zhǎng)連接處理長(zhǎng)連接最近恰好要寫一個(gè)處理長(zhǎng)連接的服務(wù),接收日志包,然后打包成syslog形式再轉(zhuǎn)發(fā),所以在它的基礎(chǔ)上改了一下。主要改了兩個(gè)類,一個(gè)是Server,因?yàn)槲覀冎魂P(guān)注read事件,所以write事件我們暫不處理。另外,在處理完ON_READ事件后,不能執(zhí)行key.cancel()。Java代碼1.packagenioserver2.3.impt.ISocketAddress4.impt.ServerSocket5

2、.imptjava.nio.channels.ionKey6.imptjava.nio.channels.7.imptjava.nio.channels.ServerSocketChannel8.imptjava.nio.channels.SocketChannel9.imptjava.util.Iterat10.imptjava.util.LinkedList11.imptjava.util.List12.imptjava.util.

3、Set13.14.15.16.Title:主控服務(wù)線程采用NIO實(shí)現(xiàn)的長(zhǎng)連接服務(wù)器17.@authsxl18.@version1.019.20.21.publicclassServerimplementsRunnable22.privatestatic23.privateServerSocketChannelsschannel24.privateISocketAddressaddress25.protectedNotifiernotif

4、ier26.privateintpt27.28.29.創(chuàng)建主控服務(wù)線程30.@parampt服務(wù)端口31.@throwsjava.lang.Exception32.33.publicstaticintMAX_THREADS=474.處理IO事件75.if(key.isAcceptable())76.Acceptthenewconnection77.ServerSocketChannelssc=(ServerSocketChannel)k

5、ey.channel()78.notifier.fireOnAccept()79.SocketChannelsc=ssc.accept()80.sc.configureBlocking(false)81.觸發(fā)接受連接事件82.Requestrequest=newRequest(sc)83.notifier.fireOnAccepted(request)84.注冊(cè)讀操作以進(jìn)行下一步的讀操作85.sc.register(ionKey.OP_

6、READrequest)86.87.elseif(key.isReadable())88.Reader.processRequest(key)提交讀服務(wù)線程讀取客戶端數(shù)據(jù)89.90.91.92.93.catch(Exceptione)94.continue95.96.97.98.另一個(gè)改動(dòng)的類是Reader,改變對(duì)1的處理,這里不是break,而是拋出異常。在讀取完buffer的數(shù)據(jù)后,將數(shù)據(jù)包傳遞給另外兩個(gè)線程進(jìn)行syslog的發(fā)送和

溫馨提示

  • 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ù)僅提供信息存儲(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)論