![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络IO编程模型-netty
文章平均质量分 56
健康平安的活着
再给我一次重生的机会,我将加倍珍惜,将java事业进行到底。
展开
-
网络I/o编程模型25 大结局 netty学习总结
资源说明1.学习笔记代码2.学习资料参考。原创 2022-07-17 17:31:34 · 124 阅读 · 0 评论 -
网络I/o编程模型 19 netty使用udp协议实现c/s通信
使用netty采用udp协议模拟客户端和服务端进行通信。2.服务端handler1.3 客户端代码2.客户端hadler1.4 调式运行1.客户端2.服务端原创 2022-07-10 10:14:31 · 380 阅读 · 0 评论 -
网络I/o编程模型24 基于netty编写RPC通信框架
RPC:remote procedure call : 远程过程调用,是一个计算机通信协议。允许一台机器程序调用另外一台机器的应用。用户无需关心细节,调用本地方法一样的调用远程方法。常见的RPC框架:阿里的dubbo,google的gRPC, 还有apache的thrift,spring的spring cloud消费者和提供者约定接口和协议,消费者远程调用提供者的服务,提供者返回一个字符串,消费者打印提供者返回的数据。1.创建一个接口,定义抽象方法,用于消费者和提供者之间的约定。2.创建一个提供者,该类原创 2022-07-09 18:00:14 · 165 阅读 · 0 评论 -
网络I/o编程模型23 netty的出站与入站中handler加载与执行顺序
出栈与入栈中handler加载与执行顺序原创 2022-06-19 13:59:51 · 551 阅读 · 1 评论 -
网络I/o编程模型22 netty的源码总结
netty的源码总结,如果new NioEventLoopGroup() 则默认会有cpu核数*2 个线程,这样可以充分利用多核的优势。原创 2022-06-18 16:53:07 · 154 阅读 · 0 评论 -
网络I/o编程模型21 netty的粘包和拆包问题的解决方案
tcp是面向连接的,面向流的,提供高可靠性服务。收发两端(客户端和服务端)都要有一一成对的socket;客户端为了每次更有效的发送更多的数据给对方,使用了优化方法(Nagle算法),将多次间隔较小且数据量小的数据,合并成一个大的数据块然后进行封包。问题:这样虽然效率提高了,但是接收端就难于分辨出完整的数据包了,tcp无消息保护边界,需要在接收端处理消息边界问题,也就是我们说的粘包,拆包问题。.........原创 2022-06-12 12:38:53 · 254 阅读 · 3 评论 -
网络I/o编程模型10 netty介绍
一 netty介绍1.1 netty介绍1.netty是由JBOSS提供的一个java开源框架。2.netty是一个异步的、基于事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网络IO程序。3.netty主要针对在TCP协议下,面向clients端的高并发应用,或者Peer-to-peer场景下的大量数据持续传输的应用。4.netty本质是一个NIO框架,适用于服务器通讯相关的多种应用场景。简而言之:netty是一个异步高性能的网络通讯IO框架。应用案例:1.阿里的Dubbo集原创 2022-05-22 19:19:52 · 266 阅读 · 0 评论 -
网络I/o编程模型20 netty的编码与解码以及整合log4j
1.客户端发送给服务端的数据会通过pipeline的一系列channeloutboundHandler处理,称之为出站,需要进行编码操作。2.服务端接收客户端的发送的数据会通过pipeline的一系列channelinboundHandler处理,称之为入站,需要进行解码操作。...原创 2022-06-05 19:35:02 · 193 阅读 · 1 评论 -
网络I/o编程模型19 netty的编码与解码
1、数据在网络中传输的都是二进制字节码数据,在发送数据时就需要编码,接收数据时就需要解码。encoder 负责把业务数据转成字节码数据,decoder负责把字节码数据转成业务数据。2.netty常见的解码和编码器StringEncoder 对字符串数据进行编码ObjectEncoder 对java对象进行编码StringDecoder 对字符串进行解码ObjectDecoder 对java对象解析解码但是netty底层使用的仍是java序列化技术,java序列化技术效率不高,体积太大。原创 2022-06-05 16:12:02 · 102 阅读 · 0 评论 -
网络I/o编程模型18 netty通过websocket实现服务,客户端通信
基于websocket的全双工的长连接,实现客户端和服务端之间信息的交互。比如客户端浏览器和服务器会相互感知,比如服务器关闭了,浏览器会感知;同样浏览器关闭了,服务器也会感知。1.服务端2.自定义处理类3. 前端页面4.查询结果 1.服务端 2.页面...原创 2022-06-04 19:09:08 · 337 阅读 · 0 评论 -
网络I/o编程模型17 netty框架实现心跳机制
IdleStateHandler 是netty提供的处理空闲状态的处理器long readerIdleTime: 表示多长时间没有读,就会发送一个心跳, 检测包检测是否连接。long writeIdleTime: 表示多长时间没有写,就会发送一个心跳, 检测包检测是否连接。long allIdleTime: 表示多长时间没有写,就会发送一个心跳, 检测包检测是否连接。当IdleStateEvent触发后,就会传递给管道的下一个handler去处理。二 代码案例1.server代码2原创 2022-06-04 16:06:15 · 227 阅读 · 0 评论 -
网络I/o编程模型16 netty框架实现的群聊系统
使用netty的非阻塞网络机制原创 2022-06-03 17:36:05 · 180 阅读 · 0 评论 -
网络I/o编程模型15 netty的核心组件
netty的核心组件:bootstrapserver、future、channel、selector、channelhandler原创 2022-05-31 21:40:50 · 168 阅读 · 0 评论 -
网络I/o编程模型14 netty的http协议服务器
一 案例1.1 案例描述1.netty服务器使用6666端口监听,浏览器发送的请求:http://localhost:6666/2.服务器收到消息后,向浏览器发送消息“hello,我是服务器,你在干什么!!!”,并对特定资源进行过滤。1.2 代码1.server端package com.ljf.netty.netty.http;import com.ljf.netty.netty.tcp.NettyTcpServerHandler3;import io.netty.boots原创 2022-05-30 15:05:53 · 133 阅读 · 0 评论 -
网络I/o编程模型13 netty的异步模型
一 netty的异步模型1.1 netty异步模型介绍future 表示异步的执行结果,可以通过它提供的方法来检测执行是否完成,它的核心思想是,比如有一个方法test,计算过程非常耗时,等它计算后返回结果显示不合适,那么在调用test的时候,立刻返回一个Future,后续可以通过Futere去监控test方法的处理结果。netty的异步模型是建立在future和callback之上的,callback就是回调。netty种的I/O操作是异步的,如bind,write,connet等操作返回一个c原创 2022-05-29 19:52:18 · 154 阅读 · 0 评论 -
网络I/o编程模型12 netty实现tcp服务通讯(含EventLoop实现调度)
一 netyy实现tcp通讯1.1 案例需求描述1.netty服务端可以监听6666端口,客户端向此服务器进行发送信息。例如“hello,netty服务器....”;2.服务端收到信息对客户端进行回复信息,例如“hello,客户端发的消息已经收到.....”......原创 2022-05-28 19:25:11 · 357 阅读 · 0 评论