我有兩個系統要集成,一個使用完全內部網絡堆棧,另一個使用Netty(特別是Flazr)。我想通過我們內部的HTTP棧代理基於Flazr Netty的RTMP流,以生成一個可以說RTMPT的系統。爲了實現這一點,我需要一個類似於套接字的Netty對象,但我可以自己完成所有「低級」內容 - 基本上只是將數據封裝在HTTP中並將其傳遞給我們的自定義網絡堆棧。換句話說,我不希望Netty爲我管理任何套接字 - 我想在套接字和Netty之間插入我自己的東西。自定義Netty ServerChannel實現
我懷疑正確的方法是擴展AbstractServerChannel並創建一個* Factory類,但我不確定Netty的其餘部分是如何期望數據流過ServerChannel的。
我定製ServerChannel需要能夠:
通知的Netty當一個新的客戶通過我們現有的HTTP系統連接
推數據高達Netty的,當它到達
輪詢從Netty的新郵件,在客戶端的請求
清理Netty的狀態時出HTTP會話時間(或RTMP流被完全關閉)
上ServerChannel,ServerChannelFactory如何任何指針執行?我發現javadocs在這方面相當缺乏。
一些具體問題:
應該如何實施我的迴應 「InterestOps」 型的東西?
是ServerChannel.write所謂的下來堆棧一路來的消息?這兩種不同的超載有什麼關係?
我如何需要實現ServerChannel。(DIS)連接?
如果我還是做了所有的這些東西通過ServerBootstrap,或者是過於高層次的東西?
謝謝!
之前有人問:是的,我願意代替我們用的Netty基於一個定製的網絡協議棧,但是這是我想也很難證明一個大型的工程任務。嬰兒的步驟。
我認爲這屬於netty 3.x.x,netty 4.x.x的代碼在傳輸實現時會完全改變。 –