java
文章平均质量分 83
tamu123
这个作者很懒,什么都没留下…
展开
-
Netty - WebSocket协议
前言websockt是需要依赖http1.1 然后返回其响应码101 再开始由http协议转为 webSocket1、MyServer/** * @author wzcstart * @date 2021/6/30 - 1:49 */public class MyServer { public static void main(String[] args) throws Exception{ EventLoopGroup bossGroup = new Ni原创 2021-08-31 20:07:53 · 244 阅读 · 0 评论 -
Netty - HTTP 服务
前言1、TestServer.javapackage com.guiguixia.netty.http;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.ChannelFuture;import io.netty.channel.EventLoopGroup;import io.netty.channel.nio.NioEventLoopGroup;import io.netty.channel.so原创 2021-08-31 20:07:02 · 115 阅读 · 0 评论 -
Netty(下)
1、Google Protobuf1.1、编解码器基本介绍1.2、Netty本身编解码器机制及问题分析1.3、Protobuf1.4、Protobuf快速入门案例1.4.1、Student.protosyntax="proto3";option java_outer_classname = "StudentPOJO";//生成的外部类名,同时也是文件名//protobuf 使用message 管理数据message Student{//会在外部类 St原创 2021-08-31 20:06:15 · 114 阅读 · 0 评论 -
Netty(中)
1、Netty模型1.1、简单原理示意图1.2、示意图解释1.3、原理示意图进阶版1.4、原理示意图最终版1.5、示意图解释2、Netty快速入门案例 - TCP服务2.1、NettyServer/** * @author wzcstart * @date 2021/6/23 - 23:51 */public class NettyServer { public static void main(String[] args) th原创 2021-08-31 20:05:43 · 101 阅读 · 0 评论 -
Netty(上)
前言Netty是基于Reactor主从模式来的1、线程模式基本简介2、传统阻塞 I/O 服务模式2.1、工作原理图2.2、问题分析3、Reactor模式Reactor模式又叫Dispatch模式3.1、解决传统 I/O 服务模型两个缺点3.2、原理示意图3.4、Reactor模式分类4、单Reactor单线程4.1、原理示意图4.2、方案说明4.3、方案优缺点5、单Reactor多线程5.1、原理示意原创 2021-08-31 20:05:01 · 80 阅读 · 0 评论 -
NIO群聊系统
GroupChatServerpackage com.guiguixia.nio.groupchat;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.*;import java.util.Iterator;import java.util.Set;/** * 群聊系统服务端 * @author wzcst原创 2021-08-31 20:04:18 · 92 阅读 · 0 评论 -
IO模型(NIO、BIO、AIO)
前言通过图解简单介绍IO模型1、BIO - 同步阻塞IOJava BIO : 同步并阻塞(传统阻塞型),服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销1.1、BIO编程简单流程服务器端启动一个ServerSocket客户端启动Socket对服务器进行通信,默认情况下服务器端需要对每个客户 建立一个线程与之通讯 客户端发出请求后, 先咨询服务器是否有线程响应,如果没有则会等待,或者被拒绝如果原创 2021-08-31 20:03:16 · 240 阅读 · 0 评论 -
Netty实现RPC
1、介绍RPC(Remote Procedure Call)— 远程过程调用,是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程 两个或多个应用程序都分布在不同的服务器上,它们之间的调用都像是本地方法调用一样(如图)常见的 RPC 框架有: 比较知名的如阿里的Dubbo、google的gRPC、Go语言的rpcx、Apache的thrift, Spring 旗下的 Spring Cloud。2、RPC调用流程2.1、调用流程原创 2021-08-31 19:59:43 · 323 阅读 · 0 评论