|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- package com.telpo.dipperposition.server;
-
- import com.telpo.dipperposition.handler.ServerChannelInitializer;
- import io.netty.bootstrap.ServerBootstrap;
- import io.netty.channel.ChannelFuture;
- import io.netty.channel.ChannelOption;
- import io.netty.channel.EventLoopGroup;
- import io.netty.channel.nio.NioEventLoopGroup;
- import io.netty.channel.socket.nio.NioServerSocketChannel;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.core.env.ConfigurableEnvironment;
- import org.springframework.stereotype.Component;
-
- import java.net.InetSocketAddress;
-
-
- @Slf4j
- @Component
- public class DipperPositionServer {
-
- private String serverAddr;
- private Integer starsAsycPort;
-
- public DipperPositionServer(ConfigurableEnvironment environment) {
-
- this.serverAddr = environment.getProperty("position-server.serverAddr");
-
- this.starsAsycPort = Integer.parseInt(environment.getProperty("position-server.starsAsycPort"));
- }
-
-
-
- public void start() {
-
-
- EventLoopGroup mainThreadGroup = new NioEventLoopGroup(1);
-
- EventLoopGroup workThreadGroup = new NioEventLoopGroup(200);
- InetSocketAddress socketAddress = new InetSocketAddress(serverAddr,starsAsycPort);
- ServerBootstrap bootstrap = new ServerBootstrap()
- .group(mainThreadGroup, workThreadGroup)
- .channel(NioServerSocketChannel.class)
- .childHandler(new ServerChannelInitializer())
- .localAddress(socketAddress)
-
- .option(ChannelOption.SO_BACKLOG, 1024)
- .option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 3000)
-
- .childOption(ChannelOption.SO_KEEPALIVE, true);
-
-
-
- try {
-
- ChannelFuture channelFuture = bootstrap.bind(socketAddress).sync();
- log.info("星历服务器启动开始监听端口: {}", starsAsycPort);
-
- channelFuture.addListener(future -> {
- if (future.isSuccess()){
- log.info("start success");
- }else{
- log.info("start failed");
- }
- });
- channelFuture.channel().closeFuture().sync();
- } catch (InterruptedException e) {
- e.printStackTrace();
- } finally {
-
- mainThreadGroup.shutdownGracefully();
-
- workThreadGroup.shutdownGracefully();
- }
- }
-
- }
|