1
我試圖開始使用MINA,並且所有示例似乎都有數據寫入會話,而不是使用可以反覆寫入相同類型數據的方法。如何通過MINA正確發送數據?
我試圖利用org.apache.mina.filter.codec.demux.MessageEncoder
/MessageDecoder
到encode
/decode
消息,這將讓我總是在一箇中心位置執行任務,而不是在代碼中內嵌做的,喜歡做的例子。
比方說,我有一個ProtocolCodecFactory
(延伸DemuxingProtocolCodecFactory
)具有LoginRequestEncoder
(實現MessageEncoder<LoginRequest>
,並通過工廠的addMessageEncoder
方法加入)。這是否意味着,而不是直接調用session.write()
與用戶名/密碼數據,我應該做這樣的事情?
LoginRequest request = new LoginRequest(username, password);
new ProtocolCodecFactory()
.getEncoder(session)
.encode(session, request, someProtocolEncoderOutput);
我不會撒謊...... MINA好像它應該簡化了網絡的過程,我相信它會在我上有一個手柄,但我徹底糊塗權現在。