a6/TcpListener.java
aozhiwei 83d48a38e7 1
2019-12-13 17:00:22 +08:00

67 lines
1.7 KiB
Java

package a6;
import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.ChannelFuture;
import io.netty.channel.ChannelInitializer;
import io.netty.channel.ChannelOption;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.SocketChannel;
import io.netty.channel.socket.nio.NioServerSocketChannel;
public class TcpListener {
public int bindPort = 0;
public String bindAddress;
public void TcpListener(int max_client_cnt) {
}
public void open() {
EventLoopGroup bossGroup = new NioEventLoopGroup();
EventLoopGroup workerGroup = new NioEventLoopGroup();
try {
ServerBootstrap b = new ServerBootstrap();
b.group(bossGroup, workerGroup)
.channel(NioServerSocketChannel.class)
.childHandler(new ChannelInitializer<SocketChannel>() {
@Override
public void initChannel(SocketChannel ch) throws Exception {
// ch.pipeline().addLast(new DiscardServerHandler());
}
})
.option(ChannelOption.SO_BACKLOG, 128)
.childOption(ChannelOption.SO_KEEPALIVE, true);
ChannelFuture f = b.bind(this.bindPort).sync();
f.channel().closeFuture().sync();
} catch(Exception e) {
} finally {
workerGroup.shutdownGracefully();
bossGroup.shutdownGracefully();
}
}
public void close() {
}
public boolean isActive() {
return false;
}
public boolean sendClientMsg() {
return false;
}
public void broadcastMsg() {
}
}