00:00
继续。我们在这讲到,待会儿呢,我们会制定一个handler来处理业务逻辑,那在在处理业务逻辑的时候,其实就是基于我们这个证的形式来处理数据的。那哪一种呢,是哪一个呢?就是刚才我们讲到web shock下面有六个子类,是不是还有印象吧,其中有一个子类就是那个text we socket frame,那个呢是我们要用到的,所以说现在呢,老师开始来写它的处理子类。来,走一个。还在这里,我们先编写一个类,我们取个名字叫MY,什么呢?Text web。Shocked什么呢,Frame。Frame。啊,这个单词if frame hander,那有点长哈,有点长。然后呢,这边我们来继承。哪一个呢,还是simple,因为这个时候呢,有数据的交互了,所以说我用simple,呃,China in bondund handler里面的数据类型就是泛型哈,我们说。
01:12
泛型,泛型呢,我们就直接指定是刚才我说的web。呃,Tax。Web。Web shocked。就这个字。好,那同样这里面呢,有方法要去实现,把方法实现了。那这里呢,我先做点说明。说明一下这里。这里大家看到的这个泛型,对这个类型。这个类型表示什么呢?啊,它表示的是。表示一个文本证。对,就是我们说的free。Okay。那整个这个数据我们在客户端和服务器端在,就是浏览器和服务器在交互的时候呢,以这种数据类型的形式来进行交互,好那在这里我做件什么事情呢?我上来过后,对我上来过后就输出它的信息,就说服务器端收到消息。
02:20
收到。消息什么消息呢,我把这个打出来。注意这个地方呢,要用。Text方法来获取它实际的文本内容。啊,不能直接去获取啊,如果你直接输输一个MS,那是拿不到的。接着继续往下走。那拿到这个信息过后,是不是我们应该回复回复客户端,大家看到,呃,回复浏览器是不是这边我们会回复一个。呃,叫做服务器的,我当我把当前服务器时间,再加上你发送的消息给回写一下。好,现在呢,我们回复消息。
03:01
很简单,怎么做呢?拿到我们的channel,然后write。And flush。对不对,我溜一个,注意此时此刻,因为我们刚规定好了,都以这种。数据的形式来交互的,所以说我封装的时候呢,也是以这种形式来回复,不要用普通的那个string,好吧,就不能说我直接写个Hollywood,那是不可以的。就web。Shocked frame,然后这里面呢,我写一个服务器,服务器时间。我把这个时间呢,给它反过去加上。我就用local。老卡。然后什么呢?That。诶,这个单词写错吗。C,对啊,这这样写的,别写错了点,闹好把时间跑回去,再把时间再把数那个信息给大家回写一下,这个信息回显呢,我们就在这加一个吧。
04:10
加上我们的MSG点文本,就是说你给我发回来,发过来过后我收到在服务器显示一下,然后我再给你返回一个,再给浏览器返回一个,呃,信息,就把我的时间再加上你发过来,消息给你发回去。嗯,好,这就是我们CHINA0,那紧接着大家有没有发现我们还要在这里呢去感知。这个连接就从感知这个连接是不是开启了或者关闭了,我们还需要去处理几个方法,好,我们来重写几个方法,第一个就是前面我们用的叫做handler added。哪一个呢,就他。那这个方法是干什么呢?刚才我们已经讲过了啊,已经说过这个事情的,他是干什么的,就是当web web客户端,客户端连接后。
05:03
连接后。它连接后呢,就会,呃,就会去这个触发啊,就会触发。触发。这个方法或者方法好,拿到这个函数,拿到这个方法,我们就这样去写一句话,怎么写呢,沈腾。我在这打句话叫。Hand。Hand,我们把这个写到这吧,Hand added被调用了。被调用。被调用,然后呢,我想在这里输出一个什么信息呢,我想把当前的来看一下。把它当前的channel ID看,Channel实际是有个为ID的,然后呢,把它转成一个as long。Text,那这个地方我要说一下这个long text它是一个什么东西呢?我说一下注释。表示这个ID啊,ID表示。
06:01
呃,表示一个唯一,唯一的唯一的唯一的一个值,唯一的值它有两种形式,一个是long text,还有一种呢是。Short text,对。两种形式你都可以可以写,就是说这种形式呢,Long text是唯一的。他是唯一的。这个值。这个值是唯一的。唯一的,那么还有一个呢,就是同学们也看到了,还有一种我们也把它输出来。点一下。Then as short。这个呢,就不是唯一的了。就是上面这个是唯一的值,这个不是唯一的。这有可能重复明白吧,好,我这打出来,打出来过后呢,我们再来去处理另外一个非常重要的方法,哪一个呢。就是handler red。哪一个在这里。哎,在这里我们来看。
07:02
好,那在这里呢,我们再写一句话。写一句话,我们这重写该方法说一句话。走一个。说什么呢?我们说handler remove被调用。被调用。我们也把他的ID输出来,待会儿呢,我们做一个对比,对不对,还是。点什么呢?channel.id.as no。待会儿呢,我们可以看到这两个值是否是一样的,紧接着我们还要去处理一个异常。对,还要处理一个异常。在哪里,是在这个位置。如果在整个这个通讯过程中发生了异常,我们怎么去处理呢?好的,我在这呢,把这个异常信息打出来。就叫异常发生。对,信息是什么,就是我们的这个。
08:02
对不对。点,然后呢关闭。我们的通道。关闭了。一旦发生,就把这个连接关闭掉。关闭电解。那现在还有一个最重要的,我看这边都写好了啊,这边写好写好了以后。写好服务器这端,就是我们这个handler就写完了,写完了以后呢,大家想一想,是不是我们应该把它加入到。哪里?哎,这个地方我们要把它加入到。这个位置去又一个。要一个mine。Text web sock的frame handler里加进去,这样呢,它就会经过了上面这个处理过后,再到我们这个handler进行处理,这个handler呢,我们会收到服务器的信息。然后呢,我们把这个消息回复回去,就这样子的,好的,注意在整个这个过程中,同学们不要搞错了啊,整个这个过程中呢,我们都是以这个证的形式,就是text web so frame这种形式来进行交互的,你不能写成别的形式啊,你要指成别的形式的话呢,那这个地方就会出问题的。
09:20
好呃,你不能说我这直接打个字符串,你去试试,那这个信息就可能拿不到。好的,那这个handle呢,我们就写完了。下面呢,我们就来写他的客户端。
我来说两句