00:01
各位同学大家好,下面呢,我们继续来完成Java n IO聊天室的这个例子,刚才咱们把服务端的基本结构代码已经完成了,然后最后我们到第六步,咱们写到这里,在第六步中呢,我们做了判断,如果说它是一个S状态,也就是一个接收的状态,那咱们做一些事情,如果它是可读状态,我们再做其他事情,那现在呢,我们先写一下,如果它是一个accept的这个接收状态,那咱们应该怎么去处理,那比如说我这么来做啊,我在这里边呢,咱们来调用一个方法,这方法我给它起个名字就叫做accept,这个ator。然后在里边呢,我们传入参数,因为这个过程中呢,它肯定要需要第一个应该有咱们这个server socket channel,这肯定需要咱先传进来,然后第二个呢,应该需要咱们那个选择器,就是,所以我把两参数传进来,如果一会缺少往里边咱再加上,然后这个我们写完之后,下面呢,咱们把方法给它创建出来,我就把方法建到下边,然后这个方法咱们做到事情就是来处理一下咱们这个就是。
01:18
接受的状态,或者说接入的这个状态的这么一些操作,咱们来做这个事情。那这里边我们要做什么呢?同样给各位把代码这个步骤先写一下,然后咱们根据步骤来实现一下里边那个代码过程。那这个步骤怎么做呢?首先第一步,因为咱们是一个接入的这么一个状态,或者说是一个接收的状态,所以首先第一步咱先创建出一个叫socket channel,把这个先做个创建。这是我们的第一步操作,然后这个做到之后,我们的第二步操作就是把这个socket肯定要设成一个非阻塞模式。
02:06
这个写下啊,非阻塞模式,这是我们的第二步操作。然后这个做到之后呢,我们的第三步操作就是把我们的。给他注册到咱们这个select选择器上面。这是第三步,并且就是监听里面那个可读的这个状态,这是我们的第三步,为什么这么做呢?因为咱们接入连接之后,是不是要得到客户端给我发过来消息,把这个得到,所以大家要接听这个可读的这么一个状态。然后这个做到之后呢,我们的第四步操作,咱可以给的一个客户端,给他一个就是提示了,或者给他一个回复的一个信息,比如说告诉他已经连上的这个聊天室,或者说你现在已经进入到聊天室等等这些提示,所以这就是我们处理接入状态中要做的这些操作,这个我们把步骤给各位写出来了。
03:07
然后下面具体写下这个代码,那我来写下啊,先第我用这个这个方法接入到你传过来,这个就是接入的个状态,把这个创建一个叫serve,这是我们的第一步操作。这个大家给他知道啊,然后这个做到之后,我们的第二步操作就是设置这个socket channel的这个模式是一个非阻塞模式,咱把这个值改成叫false。然后这里边有异常,咱们异常给他直接出去。这是咱的第一步,第二步,然后这个做到之后,第三步呢,咱把这个拆。给他就是注册到我们这个上面去,那我来做个注册,用这个就是register里边这个方法进行注册,第一个就是我们的选择器,然后第二个咱们注册就是监听它这个可读的状态,我们加一个selection key,点上这个read。
04:16
这是做到这么一个监听,包括进行这么一个注册。然后这个做到之后呢,我们的第四步操作,那咱就给客户端回复一个消息,比如说告诉他你已经进入了聊天室,比如说请人们注意这个隐私安全等等内容,那这里边我们做一个回复,咱们用so channel里边的write方法做到,在里边呢,咱用一下咱们前面刚讲过,这个就是插set对象做一个编码的这么一个处理。那点上我们加上一个uf杠八。然后咱们再点上一个叫已扣的里边,加上咱们就是回复给客户端的那个内容,那这里边比如说我就写上这一单内容,我们来写一下啊。
05:07
比如这个内容我就写一下,说这里边,比如说咱就说欢迎你进入到我们这个。聊天室。然后再写一下,说请这个注意这个隐私的安全。啊,咱们就写这么一个提示,所以现在呢,我们就把这个接入状态的操作方法我们就完成了,在这里边我们也做了这么一个调用,所以这是我们完成的里边的这个过程,然后完成之后呢,下面我们再来完成,当你是可读状态,咱们在做什么事情。
我来说两句