2-1.Netty源码:服务端启动

服务端启动

Posted by ZhaoLe on January 29, 2019

参考【Netty源码:目录】中写的服务端启动代码

具体bind方法在AbstractBootstrap中实现的,表示新建一个Channel并且绑定它。删除了些后就这么多,后面围绕这块代码展开说

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  //AbstractBootstrap.java
  private ChannelFuture doBind(final SocketAddress localAddress) {
    //初始化和注册
    final ChannelFuture regFuture = initAndRegister();
  
    final Channel channel = regFuture.channel();
    if (regFuture.cause() != null) {
        return regFuture;
    }
  
    if (regFuture.isDone()) {
        ChannelPromise promise = channel.newPromise();
        doBind0(regFuture, channel, localAddress, promise);
        return promise;
    } else {
       ...
    }
  }

*【4】初始化并且注册一个服务端的Channel

*【13】执行具体绑定端口方法