
Netty
文章平均质量分 78
Netty
chy-x
这个作者很懒,什么都没留下…
展开
-
Netty使用指南
Netty是基于NIO的网络异步通信框架,成熟稳定,常用于应用之间的网络通信。ElasticSearch、Dubbo的网络通信都是使用 Netty 实现的,比如 dubbo 的2个服务之间使用 netty 通信、交换数据。netty 和传统的 http 通信一样分为客户端、服务端2部分,客户端发送数据,服务端接收、处理数据,很多时候一个应用既是客户端又是服务端。Netty的特点异步非阻塞事件驱动高性能、高可靠性为什么Netty使用NIO而不是AIO?原创 2020-08-31 20:56:53 · 951 阅读 · 0 评论 -
使用BIO实现的传统网络编程
TCP要区分客户端、服务端,客户端用Socket,服务端用ServerSocket,通过ServerSocket获取与客户端对应的socket,来与客户端通信。接收到对方消息后,可以调用send()传入对方ip与之通信,也可以写个重载的send(),传入与客户端对应的socket。客户端、服务端是相对的,发送数据的一方叫做客户端,接收消息的一方叫做服务端,通常要同时作为客户端、服务端。UDP是不可靠的,不管对方ip存不存在、对方有没有启动监听,直接发出去,不管对方能不能接收到。原创 2020-05-22 11:30:25 · 525 阅读 · 0 评论 -
NIO中的Buffer、Channel、Charset、Files
目录Buffer 缓冲Channel 管道Charset 编码、解码Files 操作文件的工具类 Buffer 缓冲缓冲,用于批量读写数据。Buffer是抽象类,最常用的实现类是ByteBuffer、CharBuffer。 使用流程//创建指定容量的BufferCharBuffer charBuffer = CharBuffer.allocate(10);//往Buufer中放数据charBuffer.put("ABCD");//调整指针,准备好数据charB原创 2020-08-31 20:28:52 · 485 阅读 · 0 评论 -
网络编程相关概念
传统的IO是Blocking IO(BIO,阻塞式IO),Tomcat7之前默认使用的也是BIO。从JDK1.4开始,Java提供了一系列新IO,位于nio包中,称为NIO,NIO一说指的是New IO,一说指的是Non-blocking IO。NIO可以进行通道映射,将内核中的数据映射到进程中,通过内存镜像直接读写内核数据,不必进行数据复制,效率更高。NIO中的主要类Channel 可以将内核数据映射到进程中Buffer 缓冲,用于批量读写数据。原创 2020-08-31 19:53:42 · 509 阅读 · 1 评论