mina 多个handler 如何区分。

发布于 11-27 16:56 字数 641 浏览 709 评论 3

mina 多个handler 如何区分。

例如我的客户端

connector.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory()));

 connector.setHandler(new Login());

connector.setHandler(new ClientHandler());

服务端

connector.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory()));

 connector.setHandler(new LoginResp()); 

connector.setHandler(new ClientHandler());

我写2个sethandler 好像不行,例如客户端发送登录 请求,服务端应该要由LoginResp截获到消息并处理,而不是其他handler获得处理消息,请问这个该怎么做?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

叹沉浮2021-11-30 01:53:55

我查到一些资料 说,mina的IoHandler好像只能一个,但是netty的确实是可以往下透传的。

一笔一画续写前缘2021-11-29 19:42:16

回复
也是。 一定要使用多个IOHandler 的话,你要多启动一个端口监听就了。 不过这样反而变得更复杂了。

臻嫒无言2021-11-28 02:50:19

个人感觉这个不用这样建立多个Handler 去处理这个业务。而是使用一个IOHandler 。收到消息后进行处理。或者是再加一个 IOFilter ,在过了codec 时将当前的消息存到 Session 后进入 LoginCheckFilter 进行统一处理。Handler 里面通过解析消息。然后在分配给对应处理的方法。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文