67 lines
1.7 KiB
Java
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() {
|
|
|
|
}
|
|
|
|
}
|