1、粘包
http://www.cnblogs.com/dagangzi/p/4717377.html
http://blog.youkuaiyun.com/loseleo/article/details/9141783
http://blog.youkuaiyun.com/rchm8519/article/details/38418083
protected boolean doDecode(IoSession session, IoBuffer in,
ProtocolDecoderOutput out) throws Exception {
if (in.remaining() > 4) {
byte[] head = new byte[4];
in.mark();
in.get(head);
int size = HexUtil.bcdToInt(head, 0);
if (size > in.remaining()) {
in.reset();
return false;
} else {
byte[] msg = new byte[size];
in.get(msg, 0, size);
EsbMsg pack = messagePackerFactory.getMsgPacker().read(msg,
EsbMsg.class);
if (pack.getMsgtype() != EsbMsg.MSGTYPE_CLUSTER) {
if (logger.isTraceEnabled()) {
logger.trace("recv session[{}] message[{}]",
session.getAttribute("address"),
new String(HexUtil.hexToAscii(msg)));
}
}
out.write(pack);
if (in.remaining() > 0) {
return true;
}
}
}
return false;
}
2、断线重连
http://chwshuang.iteye.com/blog/2028951
http://blog.youkuaiyun.com/sangsa/article/details/51471982
http://wandejun1012.iteye.com/blog/2065941