00:00
Net核心模块组件。也就是说,我们把ni核心的那些个类和接口给大家整体的梳理一下。嗯。看一下。Boottrap,还有server boottrap bootstrap意思又是引导,没问题吧,一个。net应用程序呢,通常是由一个boottrap开始的,主要的作用是干什么?配置整个Nike的组件。这里要注意一下,Bootstrap呢,它是客户端程序的启动引导类,而server bootstrap是服务器端。启动引导类没问题,那他常见的方法一个是group用过吧。诶,我们用过设置什么呀,设置两个线程组,一个是boss group,一个是worker group。如果我们是客户端的话呢,我们这里用的是group,设置一个event group group就可以了啊,它它这边写的有点问题啊,设置一个group。
01:02
好的China China呢,就是是指的哪一块呢?就是指的这个意思,大家还记不记得我们在。设置相关信息的时候,对方不是有个channel吗?这个China呢,它就是要去指定什么呀,来看一下这个channel,就是用来设置一个服务器端通道的实现,对。然后这边option option呢是用来给server添加一些配置,还有China option是用来接收到的通道。呃,就是用来给接收到的通道添加配置,还有child啊,Child handler,这个大家知道什么,我们在这用过吧。Char handler是不是这个char handler,它是干什么呢?来看该方法用来设置业务处理类,也就是呃,用来设置我们添加我们自定义的这些handler,只是呢,他在添加这个handler的时候呢,添加handler的时候是通过创建一个什么呀通道。
02:04
创建一个这样的,创建一个China initialize通道,测试对象就写错了啊,初试对象。初始化对象,OK,就是initializer OK,接着继续往下看。继续往下看,那讲到这呢,老师有一个地方要单独的说一下,你们会看到有趣的handler,还有一个handler,这个我要多说一句。点。大家看是不是这地方也可以也有这个handler,然后呢,也可以传一个char handler啊。是不是同学们?就是这个地方其实就是给他加chart handler的,你看这这个地方也是加char handler,那问题来了,那到底这两个有什么区别呢?我给他说一下。这里呢,我我多说一句好吧。大家认真听一下,就是如果是,如果是我们把handler就handler通过这个方法来加入的是干什么呢?是指的指什么呢?就是。
03:04
Handler就是相当于是给什么呢?就是该handler。该加入的该handler。Handle对应什么呢?对应。对应的是boss group。也就是说你这个hander呢,将来会在boss group生效,而如果我们是用的child handleer呢?啊,如果是char handle是干什么呢?是对应的。他对这个这里面加的handle呢,它是对应的是worker group,就这么一点区别。也就是说将来如果说你是希望在boss group里面加handle这个,这个里面加handler呢,你用的是handle方法,如果你是给worker group这个线程组加handler呢,用的是child handler。就这么一个意思,大家注意区分。好,接着继续往下看band,那band呢,就是该方法服务于服务器端,这是在服务器端用的一个方法,Band用来设置占用的端口号,还有connect connect呢,它也是返回一个China future,该方法是用在客户端的,用来连接服务器端,没问题,接着再往下面看。
04:17
Future和China future,好,其实前面已经说过了,只在捋一捋,那中所有的IO操作都是异步的,不能立刻得知消息是否被正确的处理。但是呢,它可以。呃,他可以过一会儿等他执行完成,或者直接注册一个监听,具体的实现就是通过future和China future他们可以注册监听,当操作执行成功或者失败时,监听会自动触发注册的监听事件。比如说前面。我们在。我们在那边加一个监听器的时候呢,我们关注的是什么呀,是成功了还是失败了。另外呢,它常用的方法就是还有China,也就是说我们通过这个China future呢,还可以返回当前正在进行IO操作的通道,简单的大家看一下。
05:05
比如说同学们看这里。这边不是一个China future吗?好的CF点你看。哎,你看这个地方是不是通过这个channel也是可以。可以拿到,呃,这个China future对应的China没问题,紧接着我们继续再往下面看,还有一个syn。SYNC,这是等待异步操作执行完毕啊,就是它相当于说把这个操作变成了一个异步的操作。好,接着继续看channel,我们再来看channel channel其实就是前面我们讲。讲ninety模型的时候,这个这个这个东西。哪一个呢,他。对,这个东西。那channel channel它有哪些常用的方法,我们也来梳理一下。往下看。对,在这儿啊。China呢,它是ninety网络通讯的组件,能够用于执行网络的IO操作,通过China可获取当前网络的通道的状态,这个大家可以去看一下啊,就是说你很简单,你自己在这试一下,叫CF点圈点,你看这边是不是拿到配置啊,配置这边是不是可以得到一系列的信息,看到没有。
06:20
好,当然除了这些呢,还有别的信息,China这边你都可以拿到,比如remote dress啊,对吧,Even loop呀,等等等等等等啊,都可以去拿。接着继续往下看。下面呢,就是通过China可以得到网络连接的通道状态,还可以得到网络连接配置参数,China呢,它提供异步的网络I操作,比如说通过China的连接是不是前面讲的connect读写write或者read,然后呢,绑定端口,这些都可以异步操作。一步调用意味着任何IO调用即将立即返回,并且不保证在调用结束后IO操作已已经完成。
07:01
因为你要到底完没完没完成的话呢,是要通过这个future,呃,China future来进行监听或者是处理。呃,调用立即会,这已经说完了啊,立即会返回China future,通过注册监听器到这个China future,可以可以知道IO操作成功失败或者取消,然后呢,通知到我们这个注射器上面去。接着继续往下看,Channel呢?它支持关联IO操作与对应对应的处理程序不同协议,这点很重要,不同协议不同阻塞类型的连接都有不同的channel。你比如说。前面我们TCP这种拿到的呢,其实IO socket channel。对吧,就我们这个,就是我们前面讲的这个。啊,我们可以看一下。比如说我们这块simple里面这个是,呃,用的是这个channel。是吧?N IO server channel,我们基于HTP协议的HTP做的呢,我们注册的什么呀,我们看这里注册什么。
08:04
找到。Initializer。在这边哈。在这边我们看一下。这个通道我们注册的什么,我们注册的也是n I server China,但是呢,并不是所有的这种,呃,这这这种网络协议都是基于这种channel,所以他说到不同的协议,不同的主塞类型呢,也有不同的channel型,对你比如说异步的udp协议,咱们用的是n ni data gra channel。还有异步的客户端的SSCTP的连接是用的IP channel等等,就大家知道China类型呢,它跟我们的协议其实是有关系的。好的,那关于这块的梳理哈,就是关于我们讲的boottrap servertrap BOO server bootrap,还有我们的。Future China future,呃,还有China呢,我们就它相关的这些个,呃内容它的API我们就梳理到这。
我来说两句