如何使用两个Apache Mina ProtocolCodecFilters

时间:2017-07-12 17:50:59

标签: java websocket apache-mina

创建我的Mina服务器时,我指定:

    this.acceptor = new NioSocketAcceptor();

    this.acceptor.getFilterChain().addLast("logger", new LoggingFilter());
    this.acceptor.getFilterChain().addLast("webSocketCodec", new ProtocolCodecFilter(new WebSocketCodecFactory()));
    this.acceptor.getFilterChain().addLast("binaryCodec", new ProtocolCodecFilter(new DefaultCodecFactory()));

webSocketCodec是处理WebSocket握手的东西。 binaryCodec是解析自定义二进制协议消息的那个。

在此设置中,我希望如下:

客户端发送数据 - > webSocketCodec.encode - > binaryCodec.encode
服务器写入数据 - > binaryCodec.encode - > webSocketCodec.encode

不幸的是,只调用每个流程的第一步。我究竟做错了什么?我不能互相使用两个协议编解码器过滤器吗?

0 个答案:

没有答案