版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 寬帶連接問(wèn)題處理
- 冠脈長(zhǎng)病變的處理
- 寬帶連接錯(cuò)誤的處理辦法
- 寬帶連接錯(cuò)誤的處理辦法
- tcp連接異常情況處理
- 基于HTTP長(zhǎng)連接的WEB實(shí)時(shí)通信技術(shù)的研究.pdf
- 延遲容忍網(wǎng)絡(luò)的連接查詢處理.pdf
- 線路電氣連接點(diǎn)發(fā)熱與處理
- 基于HTTP長(zhǎng)連接的服務(wù)器推送技術(shù)研究.pdf
- 基于HTTP長(zhǎng)連接的消息推送平臺(tái)的研究與實(shí)現(xiàn).pdf
- 基于TCP長(zhǎng)連接的負(fù)載均衡器設(shè)計(jì)與實(shí)現(xiàn).pdf
- 大斷面長(zhǎng)溜井高位堵塞疏通處理實(shí)踐
- 口譯中邏輯連接詞的處理.pdf
- 一些寬帶連接錯(cuò)誤的處理辦法
- 基于長(zhǎng)連接的移動(dòng)終端消息推送系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- GPS長(zhǎng)基線數(shù)據(jù)處理研究與實(shí)現(xiàn).pdf
- 護(hù)士長(zhǎng)各種人際關(guān)系的處理
- 連接數(shù)據(jù)知識(shí)庫(kù)語(yǔ)義查詢處理.pdf
- 英漢交替?zhèn)髯g中連接成分的處理.pdf
- 邏輯連接詞在翻譯中的處理.pdf
評(píng)論
0/150
提交評(píng)論