请问netty服务端长连接运行一段时间经常不读取报文,超时断开,设备主动重连后又正常,这是什么原因
导入Msgpack compile 'org.msgpack:msgpack:0.6.12' 1 创建对象,命名DeviceValue(注意:需要在对象头上注入@Message) package com.zmm.netty4msgpacktest.domain;
import org.msgpack.annotation.Message;
@Message public class DeviceValue {
private int type;
private int seatId;
private int speed;
private int angle;
public int getType() {
return type;
}
public DeviceValue() {
}
public void setType(int type) {
this.type = type;
}
public int getSeatId() {
return seatId;
}
public void setSeatId(int seatId) {
this.seatId = seatId;
}
public int getSpeed() {
return speed;
}
public void setSpeed(int speed) {
this.speed = speed;
}
public int getAngle() {
return angle;
}
public void setAngle(int angle) {
this.angle = angle;
}
@Override
public String toString() {
return "DeviceValue{" +
"type=" + type +
", seatId=" + seatId +
", speed=" + speed +
", angle=" + angle +
'}';
}
} 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 创建type标记,命名TypeData(目的:通过DeviceValue中的不同type来区分数据类型) package com.zmm.netty4msgpacktest.domain;
public interface TypeData {
//模式
byte PING = 1;
byte PONG = 2;
byte CUSTOME = 3;
//*******************************
byte PING_SEAT = 100;
byte PONG_SEAT = 101;
byte SERVER_RESPONSE = 102;
byte SERVER_RESISTANT = 103;
} 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 创建msgpack编码器(Msgpack的具体用法可以去查一下,网上很多,其传输效率真的很高,很适合大量数据传递的情况) package com.zmm.netty4msgpacktest.code;
import org.msgpack.MessagePack;
import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.MessageToByteEncoder;
public class MsgPackEncode extends MessageToByteEncoder
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。