protected void initChannelFactory() { SocketChannelProvider.SocketType socketType = socketType(); switch (socketType) { case NATIVE_EPOLL_DOMAIN: bootstrap().channelFactory(SocketChannelProvider.NATIVE_EPOLL_DOMAIN_ACCEPTOR); break; case NATIVE_KQUEUE_DOMAIN: bootstrap().channelFactory(SocketChannelProvider.NATIVE_KQUEUE_DOMAIN_ACCEPTOR); break; default: throw new IllegalStateException("Invalid socket type: " + socketType); } }
protected void initChannelFactory() { SocketChannelProvider.SocketType socketType = socketType(); switch (socketType) { case NATIVE_EPOLL: bootstrap().channelFactory(SocketChannelProvider.NATIVE_EPOLL_ACCEPTOR); break; case NATIVE_KQUEUE: bootstrap().channelFactory(SocketChannelProvider.NATIVE_KQUEUE_ACCEPTOR); break; case JAVA_NIO: bootstrap().channelFactory(SocketChannelProvider.JAVA_NIO_ACCEPTOR); break; default: throw new IllegalStateException("Invalid socket type: " + socketType); } }
protected void initChannelFactory() { SocketChannelProvider.SocketType socketType = socketType(); switch (socketType) { case NATIVE_EPOLL_DOMAIN: bootstrap().channelFactory(SocketChannelProvider.NATIVE_EPOLL_DOMAIN_ACCEPTOR); break; case NATIVE_KQUEUE_DOMAIN: bootstrap().channelFactory(SocketChannelProvider.NATIVE_KQUEUE_DOMAIN_ACCEPTOR); break; default: throw new IllegalStateException("Invalid socket type: " + socketType); } }
protected void initChannelFactory() { SocketChannelProvider.SocketType socketType = socketType(); switch (socketType) { case NATIVE_EPOLL: bootstrap().channelFactory(SocketChannelProvider.NATIVE_EPOLL_ACCEPTOR); break; case NATIVE_KQUEUE: bootstrap().channelFactory(SocketChannelProvider.NATIVE_KQUEUE_ACCEPTOR); break; case JAVA_NIO: bootstrap().channelFactory(SocketChannelProvider.JAVA_NIO_ACCEPTOR); break; default: throw new IllegalStateException("Invalid socket type: " + socketType); } }
protected ServerBootstrap getBootstrap(MessageInput input) { final LinkedHashMap<String, Callable<? extends ChannelHandler>> parentHandlers = getChannelHandlers(input); final LinkedHashMap<String, Callable<? extends ChannelHandler>> childHandlers = getChildChannelHandlers(input); childEventLoopGroup = eventLoopGroupFactory.create(workerThreads, localRegistry, "workers"); return new ServerBootstrap() .group(parentEventLoopGroup, childEventLoopGroup) .channelFactory(new ServerSocketChannelFactory(nettyTransportConfiguration.getType())) .option(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT) .option(ChannelOption.RCVBUF_ALLOCATOR, new FixedRecvByteBufAllocator(8192)) .option(ChannelOption.SO_RCVBUF, getRecvBufferSize()) .childOption(ChannelOption.SO_RCVBUF, getRecvBufferSize()) .childOption(ChannelOption.SO_KEEPALIVE, tcpKeepalive) .handler(getChannelInitializer(parentHandlers)) .childHandler(getChannelInitializer(childHandlers)); }
public static AsyncResolveConnectHelper doBind(VertxInternal vertx, SocketAddress socketAddress, ServerBootstrap bootstrap) { AsyncResolveConnectHelper asyncResolveConnectHelper = new AsyncResolveConnectHelper(); bootstrap.channelFactory(vertx.transport().serverChannelFactory(socketAddress.path() != null)); if (socketAddress.path() != null) { java.net.SocketAddress converted = vertx.transport().convert(socketAddress, true);
b.channelFactory(channelFactory);
ServerBootstrap bs = new ServerBootstrap(); bs.group(context.nettyEventLoop()); bs.channelFactory(((VertxInternal)vertx).transport().serverChannelFactory(false)) ; bs.option(ChannelOption.SO_BACKLOG, 100); bs.childHandler(new ChannelInitializer<SocketChannel>() {
/** * Start proxy server * */ public void start() throws InterruptedException { ServerBootstrap serverBootstrap = new ServerBootstrap(); serverBootstrap.group(_acceptorGroup, _upstreamWorkerGroup); serverBootstrap.channelFactory(new ChannelFactory<ServerChannel>() { @Override public ServerChannel newChannel() { return new NioServerSocketChannel(); } }); serverBootstrap.childHandler(new ProxyInitializer(this)); //bind ChannelFuture future = serverBootstrap.bind(_host, _port); //wait for the future future.awaitUninterruptibly(); if (!future.isSuccess()) { future.channel().closeFuture().awaitUninterruptibly(); throw new ChannelException(String.format("Failed to bind to: %s:%d", _host, _port), future.cause()); } else { _allChannels.add(future.channel()); } }
public static AsyncResolveConnectHelper doBind(VertxInternal vertx, SocketAddress socketAddress, ServerBootstrap bootstrap) { AsyncResolveConnectHelper asyncResolveConnectHelper = new AsyncResolveConnectHelper(); bootstrap.channelFactory(vertx.transport().serverChannelFactory(socketAddress.path() != null)); if (socketAddress.path() != null) { java.net.SocketAddress converted = vertx.transport().convert(socketAddress, true);
httpServer.channel(NioServerSocketChannel.class); } else { httpServer.channelFactory(new ChannelFactory<NioServerSocketChannel>() { @Override public NioServerSocketChannel newChannel() {
ServerBootstrap bs = new ServerBootstrap(); bs.group(context.nettyEventLoop()); bs.channelFactory(((VertxInternal)vertx).transport().serverChannelFactory(false)) ; bs.option(ChannelOption.SO_BACKLOG, 100); bs.childHandler(new ChannelInitializer<SocketChannel>() {
@Override public ServerBootstrap getBootStrap() { bootstrap = new ServerBootstrap(); bootstrap.channelFactory(getInstance()); return bootstrap; }
protected void initChannelFactory() { SocketChannelProvider.SocketType socketType = socketType(); switch (socketType) { case NATIVE_EPOLL_DOMAIN: bootstrap().channelFactory(SocketChannelProvider.NATIVE_EPOLL_DOMAIN_ACCEPTOR); break; case NATIVE_KQUEUE_DOMAIN: bootstrap().channelFactory(SocketChannelProvider.NATIVE_KQUEUE_DOMAIN_ACCEPTOR); break; default: throw new IllegalStateException("Invalid socket type: " + socketType); } }
protected void initChannelFactory() { SocketChannelProvider.SocketType socketType = socketType(); switch (socketType) { case NATIVE_EPOLL_DOMAIN: bootstrap().channelFactory(SocketChannelProvider.NATIVE_EPOLL_DOMAIN_ACCEPTOR); break; case NATIVE_KQUEUE_DOMAIN: bootstrap().channelFactory(SocketChannelProvider.NATIVE_KQUEUE_DOMAIN_ACCEPTOR); break; default: throw new IllegalStateException("Invalid socket type: " + socketType); } }
protected void initChannelFactory() { SocketChannelProvider.SocketType socketType = socketType(); switch (socketType) { case NATIVE_EPOLL: bootstrap().channelFactory(SocketChannelProvider.NATIVE_EPOLL_ACCEPTOR); break; case NATIVE_KQUEUE: bootstrap().channelFactory(SocketChannelProvider.NATIVE_KQUEUE_ACCEPTOR); break; case JAVA_NIO: bootstrap().channelFactory(SocketChannelProvider.JAVA_NIO_ACCEPTOR); break; default: throw new IllegalStateException("Invalid socket type: " + socketType); } }
protected void initChannelFactory() { SocketChannelProvider.SocketType socketType = socketType(); switch (socketType) { case NATIVE_EPOLL: bootstrap().channelFactory(SocketChannelProvider.NATIVE_EPOLL_ACCEPTOR); break; case NATIVE_KQUEUE: bootstrap().channelFactory(SocketChannelProvider.NATIVE_KQUEUE_ACCEPTOR); break; case JAVA_NIO: bootstrap().channelFactory(SocketChannelProvider.JAVA_NIO_ACCEPTOR); break; default: throw new IllegalStateException("Invalid socket type: " + socketType); } }
@PostConstruct public void start() throws Exception { ServerBootstrap bootstrap = new ServerBootstrap(); bootstrap.group(bossGroup, workGroup) .channelFactory(NioServerSocketChannel::new) .childHandler(new ChannelInitializer<SocketChannel>() { @Override protected void initChannel(SocketChannel socketChannel) throws Exception { ChannelPipeline pipeline = socketChannel.pipeline(); pipeline.addLast("frameDecoder", new LengthFieldBasedFrameDecoder(Integer.MAX_VALUE, 0, 4, 0, 4)); pipeline.addLast("stringDecoder", new StringDecoder(CharsetUtil.UTF_8)); pipeline.addLast("frameEncoder", new LengthFieldPrepender(4)); pipeline.addLast("stringEncoder", new StringEncoder(CharsetUtil.UTF_8)); pipeline.addLast("idleStateHandler", new IdleStateHandler(300, 0, 0)); pipeline.addLast("handler", nodeChannelInBoundHandler); } }) .option(ChannelOption.TCP_NODELAY, true) .childOption(ChannelOption.SO_REUSEADDR, true) .option(ChannelOption.SO_SNDBUF, 2048) .option(ChannelOption.SO_RCVBUF, 1024); bootstrap.bind(goPushNodeServerConfig.getNodePort()).sync(); log.info("Node server start successful! listening port: {}", goPushNodeServerConfig.getNodePort()); }
@PostConstruct public void start() throws Exception { ServerBootstrap bootstrap = new ServerBootstrap(); bootstrap.group(bossGroup, workGroup) .channelFactory(NioServerSocketChannel::new) .childHandler(new ChannelInitializer<SocketChannel>() { @Override protected void initChannel(SocketChannel socketChannel) throws Exception { ChannelPipeline pipeline = socketChannel.pipeline(); pipeline.addLast("logHandler", new LoggingHandler()); pipeline.addLast("frameDecoder", new LengthFieldBasedFrameDecoder(Integer.MAX_VALUE, 0, 4, 0, 4)); pipeline.addLast("stringDecoder", new StringDecoder(CharsetUtil.UTF_8)); pipeline.addLast("frameEncoder", new LengthFieldPrepender(4)); pipeline.addLast("stringEncoder", new StringEncoder(CharsetUtil.UTF_8)); pipeline.addLast("idleStateHandler", new IdleStateHandler(300, 0, 0)); pipeline.addLast("handler", deviceChannelInboundHandler); } }) .option(ChannelOption.SO_BACKLOG, 1000000) //连接队列深度 .option(ChannelOption.TCP_NODELAY, true) //设置 no_delay .option(ChannelOption.SO_SNDBUF, 2048).option(ChannelOption.SO_RCVBUF, 1024) .childOption(ChannelOption.TCP_NODELAY, true) .childOption(ChannelOption.SO_REUSEADDR, true) .childOption(ChannelOption.SO_SNDBUF, 2048).childOption(ChannelOption.SO_RCVBUF, 1024) .childOption(ChannelOption.SO_LINGER, 0); bootstrap.bind(goPushNodeServerConfig.getDevicePort()).sync(); log.info("device server start successful! listening port: {}", goPushNodeServerConfig.getDevicePort()); }
public static void main(String[] args) throws Exception { ApplicationContext context = new ClassPathXmlApplicationContext("classpath:netty-gateway.xml"); PORT = ((GatewayOptions) context.getBean("options")).getGatewayPort(); dumpSystemInfo(new PrintWriter(System.out)); EventLoopGroup bossGroup = new NioEventLoopGroup(1, new DefaultThreadFactory("netty.gateway.boss", Thread.MAX_PRIORITY)); EventLoopGroup workerGroup = new NioEventLoopGroup(GATEWAY_OPTION_PARALLEL, new DefaultThreadFactory("netty.gateway.worker", Thread.MAX_PRIORITY)); try { ServerBootstrap b = new ServerBootstrap(); b.group(bossGroup, workerGroup) .channelFactory(new ChannelFactory<NioServerSocketChannel>() { @Override public NioServerSocketChannel newChannel() { return new NioServerSocketChannel(SelectorProvider.provider()); } }) .handler(new LoggingHandler(LogLevel.INFO)) .childHandler(new GatewayServerInitializer()); Channel ch = b.bind(PORT).sync().channel(); ch.closeFuture().sync(); } finally { bossGroup.shutdownGracefully(); workerGroup.shutdownGracefully(); } } }