当我客户端用JAVA编写的时候可以触发messageReceived函数,当改成C编写的客户端,无论客户端怎么发送信息都不能触发,不知道MINA与C通信需要注意什么
IoAcceptor ioAcceptor = new SocketAcceptor();
IoAcceptorConfig ioAcceptorConfig = new SocketAcceptorConfig();
DefaultIoFilterChainBuilder chain = ioAcceptorConfig.getFilterChain();
chain.addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory()));
ioAcceptor.bind(new InetSocketAddress(PORT), new HelloHandler(), ioAcceptorConfig);
ProtocolCodecFilter protocolCodecFilter = new ProtocolCodecFilter(textLineCodecFactory); chain.addLast("codec", protocolCodecFilter);
我是用这种方式来处理的,然后c在后面加一个换行符就当作一个命令。要不然,有时发现不是一个完整命令就发过来了,那样服务器里非常难于处理。
你试一下在发送的命令结尾加一个换行符。