mina 之IoService(翻译)
生活随笔
收集整理的這篇文章主要介紹了
mina 之IoService(翻译)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.IoService的作用
IoService提供了基本的io服務并管理 I/O Sessions,詳細內容如下:
- sessions管理 : 創建和刪除sessions, 檢測 idleness.
- 過濾器鏈管理 : 處理過濾鏈, 允許用戶改變過濾鏈
- handler 觸發: 當接收到新消息等時,調用 handler
- 統計管理 : 更新下面發送的信息量:消息, 比特流, 和其他的東西
- 監聽器管理 : 管理用戶可以建立的監聽器
- 通信管理 : 處理服務端和客戶端兩者之間的數據傳輸
2.IoService詳細
IoService是所有IoConnector和IoAcceptor的父接口,提供io服務和session管理。提供了如下方法:
- getTransportMetadata()
- addListener()
- removeListener()
- isDisposing()
- isDisposed()
- dispose()
- getHandler()
- setHandler()
- getManagedSessions()
- getManagedSessionCount()
- getSessionConfig()
- getFilterChainBuilder()
- setFilterChainBuilder()
- getFilterChain()
- isActive()
- getActivationTime()
- broadcast()
- setSessionDataStructureFactory()
- getScheduledWriteBytes()
- getScheduledWriteMessages()
- getStatistics()
?
3.服務端IoService之IoAcceptor
創建
public TcpServer() throws IOException {// Create a TCP acceptorIoAcceptor acceptor = new NioSocketAcceptor();// Associate the acceptor to an IoHandler instance (your application)acceptor.setHandler(this);// Bind : this will start the server...acceptor.bind(new InetSocketAddress(PORT));System.out.println("Server started..."); } // Create an UDP acceptor IoAcceptor acceptor = new NioDatagramAcceptor();銷毀
// Stop the service, waiting for the pending sessions to be inactive acceptor.dispose(); 或者 // Stop the service, waiting for the processing session to be properly completed acceptor.dispose( true );獲取IoService狀態:
isActive()
isDisposing()
isDisposed()
管理IoHandler
setHandler(IoHandler) 或者 getHandler()
管理過濾器鏈
// Add a logger filter DefaultIoFilterChainBuilder chain = acceptor.getFilterChain(); chain.addLast("logger", new LoggingFilter());或者 // Add a logger filter DefaultIoFilterChainBuilder chain = new DefaultIoFilterChainBuilder(); chain.addLast("logger", new LoggingFilter());// And inject the created chain builder in the service acceptor.setFilterChainBuilder(chain);?
?
4.客戶端IoService之IoConnector
- NioSocketConnector : the non-blocking Socket transport Connector
- NioDatagramConnector : the non-blocking UDP transport * Connector*
- AprSocketConnector : the blocking Socket transport * Connector*, based on APR
- ProxyConnector : a Connector providing proxy support
- SerialConnector : a Connector for a serial transport
- VmPipeConnector : the in-VM * Connector*
?
?
?
?
?
?
?
?
?
?
?
?
?
?
轉載于:https://www.cnblogs.com/davidwang456/archive/2013/04/09/3000717.html
總結
以上是生活随笔為你收集整理的mina 之IoService(翻译)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mina应用程序架构(翻译)
- 下一篇: jquery学习手记(1)