美文网首页
2、服务端启动流程

2、服务端启动流程

作者: 后厂村彭于晏 | 来源:发表于2019-02-15 17:40 被阅读0次

课程大纲

1、问题思考
2、服务端启动流程
3、源码执行流程


1、问题思考
     1)服务端的socket在哪里初始化?
     2)服务端在哪里accpet客户端连接?
2、服务端启动流程

服务端启动流程
     1.服务端通过ServerBootStrap.bind()方法启动
     2.服务端NioServerSocketChannel通过工厂反射创建,并初始化NioServerSocketChannelConfig、id,unsafe()和ChannelPipeLine,配置Channel为非阻塞。
     3.服务端NioServerSocketChannel初始化,完成服务端Channel参数、属性和ChannelHandler配置,以及客户端Channel参数、属性和ChannelHandler配置。
     4.服务端NioServerSocketChannel注册到NioEventLoop线程的Selector上,并将自身作为attachment属性绑定到该Selector上。
     5.服务端NioServerSocketChannel绑定本地端口,监听NioEventLoop上Selector的OP_ACCEPT事件,接收来自客户端的连接请求。
3、源码执行流程
源码执行流程
     1.服务端通过ServerBootStrap.bind()方法启动,最终调用父类的AbstractServerBootStrap.bind()
       ServerBootStrap.bind()->AbstractServerBootStrap.bind()->AbstractServerBootStrap.doBind()
       程序进入AbstractServerBootStrap.initAndRegister(),进行Channel的创建、初始化和注册
     2.服务端通过newChannel()方法完成Channel创建
       channel = channelFactory.newChannel();
     3.服务端通过ServerBootStrap.init(Channel channel)方法完成Channel初始化
       init(channel);
     4.服务端通过register()方法完成Channel注册
       ChannelFuture regFuture = config().group().register(channel);
     5.服务端通过doBind0()方法完成Channel的端口绑定
       doBind0(regFuture, channel, localAddress, promise);

相关文章

  • 2、服务端启动流程

    课程大纲 1、问题思考2、服务端启动流程3、源码执行流程 1、问题思考1)服务端的socket在哪里初始化?2)服...

  • netty之NioEventLoop

    本文接着上篇netty启动流程分析2讲到的地方继续分析netty服务端的启动流程,在生成一个NioServerSo...

  • Netty源码分析7 - 服务端 accept 原理

    一、代码执行流程梯形图 总结: 在 Netty源码分析6 - 服务端启动流程 中,服务端启动成功,启动了一个 bo...

  • Netty源码分析8 - 客户端 connect 原理

    一、代码执行流程梯形图 总结: 在 Netty源码分析6 - 服务端启动流程 中,服务端启动成功,客户端就可以进行...

  • zookeeper源码分析(4)-选举流程和服务器启动处理

    zookeeper源码分析(1)-服务端启动流程分析了服务端集群启动时会进行选举,下面主要分析下选举流程和后续的l...

  • Zookeeper集群启动流程

    Zookeeper服务端集群模式启动流程原理。 一,Zookeeper服务端的三种启动模式 1,standalon...

  • eureka服务端源码解读

    剖析eureka服务端启动流程 服务端启动类-入口处 从上面的代码可以看出,eureka服务端的启动时依赖于@En...

  • Java进阶-Netty-基础

    一、NIO模型 二、服务端启动流程   服务端启动其他方法: childHandler()用于指定处理新连接数据的...

  • day31socket的通信流程介绍

    socket的通信流程 TCP是基于链接的,必须先启动服务端,然后再启动客户端去链接服务端 # 服务端 impor...

  • Rsync守护进程配置

    服务端部署流程: 1、检查软件是否安装 2、编写配置文件 6、启动rsync服务rsync --daemon 客户...

网友评论

      本文标题:2、服务端启动流程

      本文链接:https://www.haomeiwen.com/subject/szymeqtx.html