日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Grizzly NIO框架 理論篇 【4】

系統(tǒng) 2320 0

Port Unification Overview(端口統(tǒng)一)

針對(duì)在一個(gè)端口上開(kāi)放多種協(xié)議的服務(wù),類似下圖:
""
通過(guò)Port unification Filter去判斷三種協(xié)議,然后針對(duì)不同協(xié)議傳遞到下一個(gè)Filter執(zhí)行后續(xù)工作。
其中Finder的Grizzly官方給了一個(gè)簡(jiǎn)單用例,針對(duì)協(xié)議包頭是"add"的Finder
  1. /**
  2. * {@link ProtocolFinder}, responsible to determine if incoming byte buffer
  3. * represents ADD-service request.
  4. */
  5. public class AddProtocolFinder implements ProtocolFinder {
  6. private final static byte [] magic = { 'a' , 'd' , 'd' };
  7. /**
  8. * {@inheritDoc}
  9. */
  10. @Override
  11. public Result find ( final PUContext puContext , final FilterChainContext ctx ) {
  12. // Get the input Buffer
  13. final Buffer inputBuffer = ctx . getMessage ();
  14. final int bytesToCompare = Math . min ( magic . length , inputBuffer . remaining ());
  15. final int bufferStart = inputBuffer . position ();
  16. // Compare incoming bytes with ADD-service protocol magic
  17. for ( int i = 0 ; i < bytesToCompare ; i ++) {
  18. if ( magic [ i ] != inputBuffer . get ( bufferStart + i )) {
  19. // If at least one byte doesn't match - it's not ADD-service protocol
  20. return Result . NOT_FOUND ;
  21. }
  22. }
  23. // if we check entire magic - return FOUND, or NEED_MORE_DATA otherwise
  24. return bytesToCompare == magic . length ?
  25. Result . FOUND : Result . NEED_MORE_DATA ;
  26. }
  27. }
這個(gè)簡(jiǎn)單例子應(yīng)該明白怎么判斷了吧,然后就是轉(zhuǎn)到對(duì)應(yīng)的協(xié)議
?
-------------------------------
理論學(xué)習(xí)暫且到此為止,水平實(shí)在有限,本人僅使用了基礎(chǔ)功能,所以大部分?jǐn)U展都沒(méi)有去學(xué)習(xí),希望有高人可以補(bǔ)充
?





Grizzly NIO框架 理論篇 【4】


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 桂平市| 信宜市| 克什克腾旗| 中牟县| 农安县| 黄陵县| 海南省| 盐山县| 五大连池市| 甘泉县| 太原市| 新竹县| 三亚市| 长沙县| 济阳县| 藁城市| 揭西县| 乌拉特前旗| 宁乡县| 峨边| 桂东县| 无为县| 宁晋县| 通许县| 伊吾县| 泽州县| 阜新市| 涟水县| 荔浦县| 万山特区| 林西县| 永城市| 栖霞市| 清新县| 义马市| 新津县| 城口县| 邢台市| 澄迈县| 阜阳市| 喀什市|