一起学netty(9)nio中ServerSocketChannel和SocketChannel

weblog 818 0 0

ServerSocketChannel和SocketChannel都是nio中的类。

ServiceSocketChannel对象是通过ServerSocketChannel.open()方法创建的。ServiceSocketChannel本身不具备数据传输的能力,它只能监听新进来的TCP链接通道。当有新的TCP链接通道建立后,它会创建一个SocketChannel的对象,代表和客户端的唯一连接通道,通过ServerSocketChannel.accept()方法获取。

SocketChannel对象具备监听以及和客户端进行数据收发的能力,可以接收客户端发送的数据,或向客户端发送数据等。

SocketChannel的主要方法有:

  1. close:关闭一个SocketChannel通道
  2. read:读取客户端的字节数据
  3. write:给客户端发送数据
  4. 等等...自己查api

猜你喜欢
official 937 netty包下的ServerSocketChannelSocketChannelnio包下的ServerSocketChannelSocketChannel的概念是样的。只不过netty又重新对nio
official 1068 之前的文章提到过,单线程的nio模型任然有定缺点。在上节《netty(7)netty的线程模型》也提到,netty的出现,封装了nio复杂的代码,并且介入多线程来处理事件,最大限度的提
official 1049 ChannelHandler用来处理Channel上的各种事件(包括建立连接,数据收发,异常处理等)ChannelHandler分为出站入栈两种。所有的ChannelHandler被连接成串,就
official 1115 编码器解码器在网络应用需要实现某种编解码器,将原始字节数据与自定义的消息对象进行互相转换。网络都是以字节码的数据形式来传输数据的,服务器编码数据后发送到客户端,客户端需要对数据进行解码
official 744 ChannelInboundHandlerChannelInboundHandler是入栈消息处理的核心接口,如下:publicinterfaceChannelInboundHandlerextendsChannelHandler{voidchannelRegistered(ChannelHandlerContextvar1)throwsException;voidchannelUnregiste
official 935 在上节《netty(6)》的文章,简要说明了用nio原生代码写程序的些不足问题,以及netty在nio的基础上大致做了那些工作。其提到点就是当活跃客户端的数量太多,单线程处理时所带
official 1579 篇《netty(2)nio模型及多路复用器》已经简单介绍了nio模型,以及多路复用器的概念,并了解nio是非阻塞的网络模型,以及与bio的区别。本篇将继续深入理解nio,以及select
official 843 UpdaterequestHTTP包建立连接,之后的通信全部使用websocket自己的协议,就http没啥关系了。有兴趣的同可以多了解下websocket协议报文的详细信息。Netty实现websoc
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。