没有用:
acceptor.getFilterChain().addLast("codec",
new ProtocolCodecFilter(new TextLineCodecFactory(Charset.forName("UTF-8"))));
---------------------
作者:tfhui928
来源:CSDN
原文:https://blog.csdn.net/xiaoborui20110806/article/details/41075075
版权声明:本文为博主原创文章,转载请附上博文链接!
用了,消息都收不到,我的消息是二进制的,不适合转为字符串。
发送的这样写:
public void sendMsg(byte[] msg) {
try {
session.write(IoBuffer.wrap(msg));
}catch(Exception e) {
System.out.println("sendMsg error: "+e.getMessage());
e.printStackTrace();
}
}
public void sendMsg(String msg) {
try {
session.write(IoBuffer.wrap(msg.getBytes()));
}catch(Exception e) {
System.out.println("sendMsg error: "+e.getMessage());
e.printStackTrace();
}
}
接收的:
/** 收到消息 */
@Override
public void messageReceived(IoSession session, Object message) throws Exception {
IoBuffer buffer = (IoBuffer) message;
int len = buffer.remaining();
System.out.println("》》》》》》》》》》》》》》》》》》 Got data of size: "+len);
byte[] data = new byte[len];
buffer.get(data, 0, data.length);
buffer.free();
}