网络协议
网络协议
Fisher3652
这个作者很懒,什么都没留下…
展开
-
Netty 序列化
目录Netty内置的序列化器集成第三方 MessagePackpom创建实体类创建解码器创建编码器创建客户端handler创建客户端创建服务端handler创建服务端启动服务端,再启动客户端代码下载地址 Netty内置的序列化器 JBoss Marshalling 和 Protocol Buffers 集成第三方 MessagePack LengthFieldBasedFrame 详解 maxFrameLength:表示的是包的最大长度 lengthFieldOffset:指的是长度域的偏移量原创 2020-11-11 09:57:41 · 698 阅读 · 2 评论 -
Netty 编解码器
目录什么是编解码器解码器将字节解码为消息将一种消息类型解码为另一种TooLongFrameException编码器 什么是编解码器 每个网络应用程序都必须定义如何解析在两个节点之间来回传输的原始字节,以及如何将其和目标应用程序的数据格式做相互转换。这种转换逻辑由编解码器处理,编解码器由编码器和解码器组成,它们每种都可以将字节流从一种格式转换为另一种格式。那么它们的区别是什么呢? 如果将消息看作是对于特定的应用程序具有具体含义的结构化的字节序列-它的数据。 那么编码器是将消息转换为适合于传输的格式(最有可能原创 2020-11-10 16:24:47 · 2644 阅读 · 0 评论 -
Netty 应用-解决粘包/半包
目录基本使用1. 创建客户端handler2. 创建客户端3. 创建服务端handler4. 创建服务端5. 先启动服务端,再启动客户端粘包/半包问题1. 什么是TCP粘包半包2. TCP 粘包/半包发生的原因解决粘包半包问题1. 增加分割符回车换行符进行分割自定义分割符2. 消息定长 基本使用 1. 创建客户端handler 继承SimpleChannelInboundHandler package org.example.echo; import io.netty.buffer.ByteBuf原创 2020-11-05 17:03:55 · 279 阅读 · 0 评论 -
Netty基础入门与组件介绍
目录Netty简介为什么要用 Netty为什么 Netty 使用 NIO 而不是 AIO?EventLoop(Group) 、Channel事件和 ChannelHandler、ChannelPipelineChannelFutureNetty 组件详解Channel、EventLoop(Group)和 ChannelFutureChannel 接口EventLoop 和 EventLoopGroupChannelFuture 接口ChannelHandlerChannelHandler 接口 Netty简原创 2020-11-09 10:56:06 · 958 阅读 · 0 评论 -
NIO 应用-网络通信
目录1. 服务端处理器关注读事件2. 服务端启动类3. 客户端处理器4. 客户端启动类5. 先启动服务端,再启动客户端6. 新建一个服务端处理器,同时关注读事件和写事件7. 启动类8. 先启动服务端,再启动客户端 1. 服务端处理器关注读事件 package org.example; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.chan原创 2020-11-02 15:30:27 · 149 阅读 · 1 评论 -
Java 原生网络编程-NIO
目录什么是 NIO?和 BIO 的主要区别NIO 三大核心组件SelectorChannelbuffer 缓冲区 什么是 NIO? NIO 库是在 JDK 1.4 中引入的。NIO 弥补了原来的 I/O 的不足,它在标准 Java 代码中提供了高速的、面向块的 I/O。NIO 翻译成 no-blocking io 或者 new io。 和 BIO 的主要区别 面向流与面向缓冲 Java NIO 和 IO 之间第一个最大的区别是,IO 是面向流的,NIO 是面向缓冲区的。 Java IO 面向流意味着每原创 2020-10-30 17:24:57 · 345 阅读 · 0 评论 -
BIO 应用-RPC 框架
目录什么是 RPC?RPC 和 HTTP实现 RPC 框架创建一个注册中心模块1. pom.xml2. properties3. 启动类4. 注册中心实体类5. 注册中心实现类创建一个服务端1. pom.xml2. properties3. 启动类4. 服务端发送消息的实体类5. 对外提供的业务方法6. 业务方法具体实现7. 完成服务注册8. 服务端实现9. 开启服务创建客户端1. pom.xml2. properties 什么是 RPC? RPC(Remote Procedure Call ——远程过程原创 2020-10-30 14:47:50 · 169 阅读 · 0 评论 -
Java 原生网络编程-BIO
目录常见术语 常见术语 Socket 是应用层与 TCP/IP 协议族通信的中间软件抽象层,它是一组接口。在设计模式 中,Socket 其实就是一个门面模式,它把复杂的 TCP/IP 协议族隐藏在 Socket 接口后面,对用户来说,一组简单的接口就是全部,让 Socket 去组织数据,以符合指定的协议。 主机 A 的应用程序要能和主机 B 的应用程序通信,必须通过 Socket 建立连接,而建立 Socket 连接必须需要底层 TCP/IP 协议来建立 TCP 连接。建立 TCP 连接需要底层 IP 协原创 2020-10-30 10:35:24 · 221 阅读 · 0 评论 -
网络协议
网络协议计算机网络体系结构OSI 七层模型TCP/IP 模型TCP/IP 协议族TCP/IP 网络传输中的数据TCP 和 UDP地址和端口号MAC 地址IP 地址端口号综述TCP 概述TCP 三次握手为什么 TCP 握手需要三次?TCP 的三次握手的漏洞-SYN 洪泛攻击TCP 四次挥手 计算机网络体系结构 OSI 七层模型 开放系统互连参考模型 (Open System Interconnect 简称 OSI)是国际标准化组织(ISO) 和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模原创 2020-10-27 15:52:09 · 709 阅读 · 0 评论