Commit 423c806f authored by duanruiming's avatar duanruiming

[update] 代码优化

parent 54219c69
......@@ -38,26 +38,25 @@ public class NettyClient {
* 建立连接
*/
public static void start(int localPort, int remotePort, ThreadPoolTaskExecutor threadPoolExecutor) throws InterruptedException {
EventLoopGroup group = new NioEventLoopGroup();
EventLoopGroup group = new NioEventLoopGroup();
Bootstrap bootstrap = new Bootstrap();
bootstrap.group(group)
.channel(NioSocketChannel.class)
.option(ChannelOption.TCP_NODELAY, true)
.option(ChannelOption.SO_KEEPALIVE, true)
.localAddress(new InetSocketAddress(remotePort))
.remoteAddress(new InetSocketAddress(remotePort))
.handler(new ChannelInitializer<NioSocketChannel>() {
@Override
protected void initChannel(NioSocketChannel socketChannel) {
log.info("新增客户端连接ip:{},port:{}", socketChannel.remoteAddress().getHostString(), socketChannel.remoteAddress().getPort());
log.info("发送密码。。。");
log.info("连接channel:{}", socketChannel);
socketChannel.pipeline()
.addFirst()
.addLast(new LengthFieldBasedFrameDecoder(ByteOrder.LITTLE_ENDIAN, Integer.MAX_VALUE, 4, 2, 0, 0, true))
.addLast(new NettyServerHandler(threadPoolExecutor));
channelGroup.add(socketChannel);
socketChannel.writeAndFlush("2a320d0a24340d0a415554480d0a2431360d0a536d2a674234504742333939514241390d0a");
String key = StringUtils.join(socketChannel.remoteAddress().getHostString(), ":".intern(), socketChannel.remoteAddress().getPort());
IP_PORT_CHANNEL_ID_MAP.put(key, socketChannel.id());
log.info("{}:客户端连接成功", key);
socketChannel.writeAndFlush("2a320d0a24340d0a415554480d0a2431360d0a536d2a674234504742333939514241390d0a2a330d0a24360d0a434c49454e540d0a24370d0a5345544e414d450d0a2431310d0a574a2d31303530333036320d0a2a320d0a24340d0a4543484f0d0a2431360d0a5135ee72dcef1143abbebbd4de9e5cbf0d0a2a320d0a24390d0a5355425343524942450d0a2432360d0a5f5f426f6f6b736c656576655f4d61737465724368616e6765640d0a");
log.info("连接成功");
}
});
ChannelFuture channelFuture = bootstrap.bind(localPort).sync();
......@@ -69,7 +68,7 @@ public class NettyClient {
//停掉所有的线程
group.shutdownGracefully();
channelFuture.channel().closeFuture().syncUninterruptibly();
log.warn("server is closed");
log.error("server is closed");
}));
}
......
......@@ -29,6 +29,13 @@ public class NettyServerHandler extends ChannelInboundHandlerAdapter {
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 {
@Override
public void channelActive(ChannelHandlerContext ctx) throws Exception {
log.info("{} 连接成功....", ctx.channel().remoteAddress());
ctx.channel().writeAndFlush("2a320d0a24340d0a415554480d0a2431360d0a536d2a674234504742333939514241390d0a");
ctx.channel().writeAndFlush("2a320d0a24340d0a415554480d0a2431360d0a536d2a674234504742333939514241390d0a2a330d0a24360d0a434c49454e540d0a24370d0a5345544e414d450d0a2431310d0a574a2d31303530333036320d0a2a320d0a24340d0a4543484f0d0a2431360d0a5135ee72dcef1143abbebbd4de9e5cbf0d0a2a320d0a24390d0a5355425343524942450d0a2432360d0a5f5f426f6f6b736c656576655f4d61737465724368616e6765640d0a");
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