Commit 423c806f authored by duanruiming's avatar duanruiming

[update] 代码优化

parent 54219c69
...@@ -44,20 +44,19 @@ public class NettyClient { ...@@ -44,20 +44,19 @@ public class NettyClient {
.channel(NioSocketChannel.class) .channel(NioSocketChannel.class)
.option(ChannelOption.TCP_NODELAY, true) .option(ChannelOption.TCP_NODELAY, true)
.option(ChannelOption.SO_KEEPALIVE, true) .option(ChannelOption.SO_KEEPALIVE, true)
.localAddress(new InetSocketAddress(remotePort)) .remoteAddress(new InetSocketAddress(remotePort))
.handler(new ChannelInitializer<NioSocketChannel>() { .handler(new ChannelInitializer<NioSocketChannel>() {
@Override @Override
protected void initChannel(NioSocketChannel socketChannel) { protected void initChannel(NioSocketChannel socketChannel) {
log.info("新增客户端连接ip:{},port:{}", socketChannel.remoteAddress().getHostString(), socketChannel.remoteAddress().getPort()); log.info("连接channel:{}", socketChannel);
log.info("发送密码。。。");
socketChannel.pipeline() socketChannel.pipeline()
.addFirst()
.addLast(new LengthFieldBasedFrameDecoder(ByteOrder.LITTLE_ENDIAN, Integer.MAX_VALUE, 4, 2, 0, 0, true)) .addLast(new LengthFieldBasedFrameDecoder(ByteOrder.LITTLE_ENDIAN, Integer.MAX_VALUE, 4, 2, 0, 0, true))
.addLast(new NettyServerHandler(threadPoolExecutor)); .addLast(new NettyServerHandler(threadPoolExecutor));
channelGroup.add(socketChannel); channelGroup.add(socketChannel);
socketChannel.writeAndFlush("2a320d0a24340d0a415554480d0a2431360d0a536d2a674234504742333939514241390d0a"); socketChannel.writeAndFlush("2a320d0a24340d0a415554480d0a2431360d0a536d2a674234504742333939514241390d0a");
String key = StringUtils.join(socketChannel.remoteAddress().getHostString(), ":".intern(), socketChannel.remoteAddress().getPort()); socketChannel.writeAndFlush("2a320d0a24340d0a415554480d0a2431360d0a536d2a674234504742333939514241390d0a2a330d0a24360d0a434c49454e540d0a24370d0a5345544e414d450d0a2431310d0a574a2d31303530333036320d0a2a320d0a24340d0a4543484f0d0a2431360d0a5135ee72dcef1143abbebbd4de9e5cbf0d0a2a320d0a24390d0a5355425343524942450d0a2432360d0a5f5f426f6f6b736c656576655f4d61737465724368616e6765640d0a");
IP_PORT_CHANNEL_ID_MAP.put(key, socketChannel.id()); log.info("连接成功");
log.info("{}:客户端连接成功", key);
} }
}); });
ChannelFuture channelFuture = bootstrap.bind(localPort).sync(); ChannelFuture channelFuture = bootstrap.bind(localPort).sync();
...@@ -69,7 +68,7 @@ public class NettyClient { ...@@ -69,7 +68,7 @@ public class NettyClient {
//停掉所有的线程 //停掉所有的线程
group.shutdownGracefully(); group.shutdownGracefully();
channelFuture.channel().closeFuture().syncUninterruptibly(); channelFuture.channel().closeFuture().syncUninterruptibly();
log.warn("server is closed"); log.error("server is closed");
})); }));
} }
......
...@@ -29,6 +29,13 @@ public class NettyServerHandler extends ChannelInboundHandlerAdapter { ...@@ -29,6 +29,13 @@ public class NettyServerHandler extends ChannelInboundHandlerAdapter {
this.threadPoolExecutor = threadPoolExecutor; this.threadPoolExecutor = threadPoolExecutor;
} }
@Override
public void channelRegistered(ChannelHandlerContext ctx) throws Exception {
ctx.channel().writeAndFlush("2a320d0a24340d0a415554480d0a2431360d0a536d2a674234504742333939514241390d0a");
ctx.channel().writeAndFlush("2a320d0a24340d0a415554480d0a2431360d0a536d2a674234504742333939514241390d0a2a330d0a24360d0a434c49454e540d0a24370d0a5345544e414d450d0a2431310d0a574a2d31303530333036320d0a2a320d0a24340d0a4543484f0d0a2431360d0a5135ee72dcef1143abbebbd4de9e5cbf0d0a2a320d0a24390d0a5355425343524942450d0a2432360d0a5f5f426f6f6b736c656576655f4d61737465724368616e6765640d0a");
ctx.fireChannelActive();
}
/** /**
* 建立连接后 * 建立连接后
* *
...@@ -38,6 +45,8 @@ public class NettyServerHandler extends ChannelInboundHandlerAdapter { ...@@ -38,6 +45,8 @@ public class NettyServerHandler extends ChannelInboundHandlerAdapter {
@Override @Override
public void channelActive(ChannelHandlerContext ctx) throws Exception { public void channelActive(ChannelHandlerContext ctx) throws Exception {
log.info("{} 连接成功....", ctx.channel().remoteAddress()); log.info("{} 连接成功....", ctx.channel().remoteAddress());
ctx.channel().writeAndFlush("2a320d0a24340d0a415554480d0a2431360d0a536d2a674234504742333939514241390d0a");
ctx.channel().writeAndFlush("2a320d0a24340d0a415554480d0a2431360d0a536d2a674234504742333939514241390d0a2a330d0a24360d0a434c49454e540d0a24370d0a5345544e414d450d0a2431310d0a574a2d31303530333036320d0a2a320d0a24340d0a4543484f0d0a2431360d0a5135ee72dcef1143abbebbd4de9e5cbf0d0a2a320d0a24390d0a5355425343524942450d0a2432360d0a5f5f426f6f6b736c656576655f4d61737465724368616e6765640d0a");
ctx.fireChannelActive(); ctx.fireChannelActive();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment