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