[Update]解决空指针异常,添加对美化模式状态同步的支持
This commit is contained in:
@@ -9,6 +9,8 @@ public class MogoProtocolMsg {
|
||||
public static final int NORMAL_DATA = 1;
|
||||
// 业务相关的身份注册
|
||||
public static final int IDENTITY_REGIST = 2;
|
||||
// 同步美化模式状态
|
||||
public static final int SYNC_MODE_STATUS = 3;
|
||||
|
||||
private int protocolType;
|
||||
private int bodyLength;
|
||||
|
||||
@@ -72,7 +72,6 @@ public class NSDNettyManager {
|
||||
|
||||
@Override
|
||||
public void onChannelConnect(Channel channel) {
|
||||
NettyTcpServer.getInstance().addChannel(channel);
|
||||
if (mListener != null) {
|
||||
mListener.onChannelConnect(channel);
|
||||
}
|
||||
@@ -80,7 +79,6 @@ public class NSDNettyManager {
|
||||
|
||||
@Override
|
||||
public void onChannelDisConnect(Channel channel) {
|
||||
NettyTcpServer.getInstance().removeChannel(channel);
|
||||
if (mListener != null) {
|
||||
mListener.onChannelDisConnect(channel);
|
||||
}
|
||||
@@ -105,6 +103,7 @@ public class NSDNettyManager {
|
||||
nettyTcpServer.setListener(mDefaultServerListener);
|
||||
nettyTcpServer.start();
|
||||
} else {
|
||||
Logger.i(TAG, "服务端已开启,断开连接!");
|
||||
NettyTcpServer.getInstance().disconnect();
|
||||
}
|
||||
}
|
||||
@@ -126,6 +125,10 @@ public class NSDNettyManager {
|
||||
NettyTcpServer.getInstance().sendMsgToAllClients(mogoProtocolMsg);
|
||||
}
|
||||
|
||||
public void sendMsgToSpecifiedClient(MogoProtocolMsg mogoProtocolMsg, Channel channel, ChannelFutureListener listener) {
|
||||
NettyTcpServer.getInstance().sendMsgToSpecifiedClient(mogoProtocolMsg, channel, listener);
|
||||
}
|
||||
|
||||
/**
|
||||
* 服务器端注册一个可供NSD探测到的网络 Ip 地址,便于给展示叫号机连接此socket
|
||||
*/
|
||||
|
||||
@@ -71,7 +71,7 @@ public class NettyClientHandler extends SimpleChannelInboundHandler<MogoProtocol
|
||||
*/
|
||||
@Override
|
||||
public void channelActive(ChannelHandlerContext ctx) {
|
||||
Logger.e(TAG, "channelActive");
|
||||
Logger.d(TAG, "channelActive");
|
||||
listener.onClientStatusConnectChanged(ConnectState.STATUS_CONNECT_SUCCESS, mSign);
|
||||
}
|
||||
|
||||
@@ -110,7 +110,7 @@ public class NettyClientHandler extends SimpleChannelInboundHandler<MogoProtocol
|
||||
*/
|
||||
@Override
|
||||
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
|
||||
Logger.e(TAG, "exceptionCaught");
|
||||
Logger.e(TAG, "NettyClientHandler#exceptionCaught is:" + cause.getMessage());
|
||||
listener.onClientStatusConnectChanged(ConnectState.STATUS_CONNECT_ERROR, mSign);
|
||||
cause.printStackTrace();
|
||||
ctx.close();
|
||||
|
||||
@@ -32,8 +32,8 @@ class ReconnectHandler(private val mNettyClient: NettyTcpClient) : ChannelInboun
|
||||
|
||||
@Throws(Exception::class)
|
||||
override fun exceptionCaught(ctx: ChannelHandlerContext, cause: Throwable) {
|
||||
Logger.e(TAG, "exceptionCaught channelId is:${ctx.channel().id()}, cause message is:${cause.message}")
|
||||
ctx.close()
|
||||
Logger.e(TAG, "ReconnectHandler#exceptionCaught cause message is:${cause.message}")
|
||||
}
|
||||
|
||||
@Throws(Exception::class)
|
||||
|
||||
@@ -70,7 +70,9 @@ public class NSDServer {
|
||||
}
|
||||
|
||||
public void stopNSDServer() {
|
||||
mNsdManager.unregisterService(mRegistrationListener);
|
||||
if (mNsdManager != null) {
|
||||
mNsdManager.unregisterService(mRegistrationListener);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ public class MogoProtocolServerHandler extends SimpleChannelInboundHandler<MogoP
|
||||
@Override
|
||||
public void exceptionCaught(ChannelHandlerContext ctx,
|
||||
Throwable cause) {
|
||||
Logger.e(TAG, "ProtocolServerHandler$exception msg is:" + cause.getMessage());
|
||||
cause.printStackTrace();
|
||||
ctx.close();
|
||||
}
|
||||
@@ -50,7 +51,8 @@ public class MogoProtocolServerHandler extends SimpleChannelInboundHandler<MogoP
|
||||
*/
|
||||
@Override
|
||||
public void channelActive(ChannelHandlerContext ctx) throws Exception {
|
||||
Logger.e(TAG, "channelActive");
|
||||
Logger.d(TAG, "channelActive");
|
||||
NettyTcpServer.getInstance().addChannel(ctx.channel());
|
||||
if (mListener != null) {
|
||||
mListener.onChannelConnect(ctx.channel());
|
||||
}
|
||||
@@ -71,9 +73,10 @@ public class MogoProtocolServerHandler extends SimpleChannelInboundHandler<MogoP
|
||||
|
||||
@Override
|
||||
public void channelInactive(ChannelHandlerContext ctx) throws Exception {
|
||||
Logger.e(TAG, "channelInactive");
|
||||
Logger.w(TAG, "channelInactive");
|
||||
// NettyTcpServer.getInstance().setConnectStatus(false);
|
||||
NettyTcpServer.getInstance().removeChannelSN(ctx.channel().id());
|
||||
NettyTcpServer.getInstance().removeChannel(ctx.channel());
|
||||
if (mListener != null) {
|
||||
mListener.onChannelDisConnect(ctx.channel());
|
||||
}
|
||||
|
||||
@@ -149,7 +149,8 @@ public class NettyTcpServer {
|
||||
public boolean sendMsgToSpecifiedClient(MogoProtocolMsg mogoProtocolMsg, Channel channel, ChannelFutureListener listener) {
|
||||
boolean flag = channel != null && channel.isActive();
|
||||
if (flag) {
|
||||
channel.writeAndFlush(mogoProtocolMsg).addListener(listener);
|
||||
ChannelFuture channelFuture = channel.writeAndFlush(mogoProtocolMsg);
|
||||
if (listener != null) channelFuture.addListener(listener);
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user