
netty
netty学习
快乐崇拜234
学习笔记
展开
-
Netty实现聊天室
文章目录本文内容基于上一篇博客 netty实现WebSocket协议,一些基本使用请参考该博客。本例实现的功能:有新成员加入时,群广播消息,欢迎加入有成员退出时,群广播消息,退出每个成员都可以发送消息,消息广播给群内的每个人完整的服务器代码如下:package com.example;import com.alibaba.fastjson.JSONObject;import...原创 2020-02-13 16:09:19 · 1765 阅读 · 0 评论 -
netty实现WebSocket协议
文章目录WebSocket协议服务端开发客户端运行测试全双工WebSocket协议一般web应用都是使用的HTTP协议。HTTP协议有以下特点:支持客户端-服务端模式使用简单:只需要知道服务端URL,携带参数发送请求即可支持多种传输数据类型,由消息头中content-type标识无状态,使得HTTP服务轻量级HTTP协议也存在一些缺点:半双工通信:同一时刻,数据只能往同一方向...原创 2020-02-11 11:48:49 · 2717 阅读 · 3 评论 -
网关基于Netty 在Http 协议的实践
文章目录网关基于Netty 在Http 协议的实践http编解码Head 请求ByteBuf 释放,防止内存泄漏引用计数PoolThreadCache连接池连接复用接入端用Netty完全异步Tomcat 做容器Netty 实现网关基于Netty 在Http 协议的实践我们网关现在完全基于netty 实现http 协议,包含客户端和服务端,http 客户端有很多选择,比如 HttpClient ...转载 2020-02-10 20:54:23 · 1472 阅读 · 0 评论 -
netty4.1实现http文件服务器
概述netty版本:4.1.45使用netty搭建一个简单的文件服务器,使用HTTP协议对外提供服务。如果文件不存在,返回403响应码。如果是文件夹,以超链接展示,如果是文件,支持下载。服务器编码/** * netty http 文件下载 服务器 */public class MyHttpFileBrowserServer { int port; publi...原创 2020-02-10 20:30:49 · 1351 阅读 · 1 评论 -
netty实现HTTP服务器
文章目录概述HTTP服务器代码实现验证概述目前主流的Java web服务器还是采用springboot+Tomcat来实现的,底层还是基于servlet开发的。servlet不是异步的,所以性能并不是很理性,无法满足当下的快速服务器的要求。目前spring5已经实现了基于reactor的webflux异步编程(响应式编程),springboot2.X也已经支持webflux,性能会提升很多。...原创 2020-02-10 15:07:07 · 1370 阅读 · 0 评论 -
netty 4.1.45 protobuf 编解码实现
文章目录PB协议简单使用netty使用PB协议进行编解码PB协议简单使用关于PB协议的使用介绍请移步至: protocol buffer 3 (Protobuf3) ( java 版本 ) 使用入门。netty使用PB协议进行编解码...原创 2020-02-09 10:30:13 · 713 阅读 · 0 评论 -
netty 4.1.45自定义编解码器
概述前面介绍了使用netty本身提供的LineBasedFrameDecoder、DelimiterBasedFrameDecoder、FixedLengthFrameDecoder三种编解码方案。不过实际工作中直接使用这几种编解码的还是比较少的。比如处于安全、性能、私有网络等。这里介绍简单的自定义编解码器的实现,后续再介绍如何与json,PB协议等进行集成实现复杂的netty协议。自定义编...原创 2020-02-08 21:41:42 · 1000 阅读 · 0 评论 -
netty 4.1.45 TCP拆包粘包原因及解决办法
文章目录异常情况模拟服务器改造客户端改造运行结果拆包粘包原因分析拆包粘包解决办法LineBasedFrameDecoder 换行符分隔消息服务端修改客户端修改运行结果原理分析DelimiterBasedFrameDecoder 固定分隔符解码器服务端修改客户端修改FixedLengthFrameDecoder 固定长度的分隔符自定义解码器在netty 4.1.45 第一个netty程序中,编写了...原创 2020-02-08 17:31:33 · 891 阅读 · 0 评论 -
netty 4.1.45 第一个netty程序
概述本系列文章介绍netty的学习。使用的版本是4.1.45jdk采用Java11本系列文章由浅入深,先学习使用,再研究其实现原理。本节编写一个最简单的netty服务器。maven依赖<dependency> <groupId>io.netty</groupId> <artifactId>netty-all</art...原创 2020-02-08 15:54:51 · 2192 阅读 · 0 评论