[Update]自定义协议并解决TCP粘包/拆包问题
This commit is contained in:
@@ -49,7 +49,9 @@ public class NSDNettyManager {
|
||||
private NettyServerListener mDefaultListener = new NettyServerListener() {
|
||||
@Override
|
||||
public void onMessageResponseServer(Object msg, String ChannelId) {
|
||||
|
||||
if (mListener != null) {
|
||||
mListener.onMessageResponseServer(msg, ChannelId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -114,6 +116,10 @@ public class NSDNettyManager {
|
||||
NettyTcpServer.getInstance().sendMsgToClient(byteArray, listener);
|
||||
}
|
||||
|
||||
public void sendMogoProtocolMsgToClient(MogoProtocolMsg mogoProtocolMsg, ChannelFutureListener listener) {
|
||||
NettyTcpServer.getInstance().sendMsgToClient(mogoProtocolMsg, listener);
|
||||
}
|
||||
|
||||
/**
|
||||
* 服务器端注册一个可供NSD探测到的网络 Ip 地址,便于给展示叫号机连接此socket
|
||||
*/
|
||||
@@ -204,11 +210,9 @@ public class NSDNettyManager {
|
||||
.setMaxReconnectTimes(5) //设置最大重连次数
|
||||
.setReconnectIntervalTime(5) //设置重连间隔时间。单位:秒
|
||||
.setSendHeartBeat(true) //设置是否发送心跳
|
||||
.setHeartBeatInterval(5) //设置心跳间隔时间。单位:秒
|
||||
.setHeartBeatData(new byte[]{0x00, 0x00, 0x00, 0x00}) //设置心跳数据,可以是String类型,也可以是byte[],以后设置的为准
|
||||
.setHeartBeatInterval(120) //设置心跳间隔时间。单位:秒
|
||||
.setHeartBeatData(new MogoProtocolMsg(MogoProtocolMsg.HEART_DATA, 2, new byte[]{0x00, 0x00})) //设置心跳数据,可以是String类型,也可以是byte[],以后设置的为准
|
||||
.setIndex(0) //设置客户端标识.(因为可能存在多个tcp连接)
|
||||
// .setPacketSeparator("#")//用特殊字符,作为分隔符,解决粘包问题,默认是用换行符作为分隔符
|
||||
// .setMaxPacketLong(1024)//设置一次发送数据的最大长度,默认是1024,最大值为Integer.MAX
|
||||
.build();
|
||||
if (listener != null) {
|
||||
mNettyTcpClient.setListener(listener); //设置TCP监听
|
||||
@@ -226,6 +230,12 @@ public class NSDNettyManager {
|
||||
return mNettyTcpClient.getConnectStatus();
|
||||
}
|
||||
|
||||
public void sendMogoProtocolMsgToServer(MogoProtocolMsg mogoProtocolMsg, final MessageStateListener listener) {
|
||||
if (mNettyTcpClient != null) {
|
||||
mNettyTcpClient.sendMsgToServer(mogoProtocolMsg, listener);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送byte[]到服务端
|
||||
* @param byteArray
|
||||
|
||||
Reference in New Issue
Block a user