|
|
@ -0,0 +1,59 @@ |
|
|
|
package com.corundumstudio.socketio; |
|
|
|
|
|
|
|
import io.netty.bootstrap.ServerBootstrap; |
|
|
|
import io.netty.channel.*; |
|
|
|
import io.netty.channel.nio.NioEventLoopGroup; |
|
|
|
import io.netty.channel.socket.SocketChannel; |
|
|
|
import io.netty.channel.socket.nio.NioServerSocketChannel; |
|
|
|
|
|
|
|
/** |
|
|
|
* Netty Demo |
|
|
|
* @author ye.jf |
|
|
|
* @version 0.1.0 |
|
|
|
* @date 2021/11/9 9:05 |
|
|
|
* @copyright Wonhigh Information Technology (Shenzhen) Co.,Ltd. |
|
|
|
*/ |
|
|
|
public class SimpleServer { |
|
|
|
|
|
|
|
public static void main(String[] args) throws Exception { |
|
|
|
EventLoopGroup bossGroup = new NioEventLoopGroup(1); |
|
|
|
EventLoopGroup workerGroup = new NioEventLoopGroup(); |
|
|
|
|
|
|
|
try { |
|
|
|
ServerBootstrap b = new ServerBootstrap(); |
|
|
|
b.group(bossGroup, workerGroup) |
|
|
|
.channel(NioServerSocketChannel.class) |
|
|
|
.handler(new SimpleServerHandler()) |
|
|
|
.childHandler(new ChannelInitializer<SocketChannel>() { |
|
|
|
@Override |
|
|
|
public void initChannel(SocketChannel ch) throws Exception { |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
ChannelFuture f = b.bind(8888).sync(); |
|
|
|
|
|
|
|
f.channel().closeFuture().sync(); |
|
|
|
} finally { |
|
|
|
bossGroup.shutdownGracefully(); |
|
|
|
workerGroup.shutdownGracefully(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private static class SimpleServerHandler extends ChannelInboundHandlerAdapter { |
|
|
|
@Override |
|
|
|
public void channelActive(ChannelHandlerContext ctx) throws Exception { |
|
|
|
System.out.println("channelActive"); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void channelRegistered(ChannelHandlerContext ctx) throws Exception { |
|
|
|
System.out.println("channelRegistered"); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void handlerAdded(ChannelHandlerContext ctx) throws Exception { |
|
|
|
System.out.println("handlerAdded"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |