2018年3月1日
摘要: 以下所绘制图形均基于Netty4.0.28版本。 一、connect(outbound类型事件) 当用户调用channel的connect时,会发起一个outbound类型的事件,该事件将在pipeline中传递(pipeline.connect),首先由tail handler处理,该handle 阅读全文
posted @ 2018-03-01 22:58 武胜-阿伟 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 本文是学习Netty的第一篇文章,主要对Netty的Server和Client间的通讯机制进行验证。 Server与Client建立连接后,会执行以下的步骤: 1、Client向Server发送消息:Are you ok? 2、Server接收客户端发送的消息,并打印出来。 3、Server端向客户 阅读全文
posted @ 2018-03-01 22:48 武胜-阿伟 阅读(547) 评论(0) 推荐(0) 编辑
摘要: Handler如何使用在前面的例子中已经有了示范,那么同样是扩展自ChannelHandler的Encoder和Decoder,与Handler混合后又是如何使用的?本文将通过一个实际的小例子来展示它们的用法。 该例子模拟一个Server和Client,两者之间通过http协议进行通讯,在Serve 阅读全文
posted @ 2018-03-01 22:46 武胜-阿伟 阅读(1081) 评论(0) 推荐(0) 编辑
摘要: Handler在netty中,无疑占据着非常重要的地位。Handler与Servlet中的filter很像,通过Handler可以完成通讯报文的解码编码、拦截指定的报文、统一对日志错误进行处理、统一对请求进行计数、控制Handler执行与否。一句话,没有它做不到的只有你想不到的。 Netty中的所有 阅读全文
posted @ 2018-03-01 22:44 武胜-阿伟 阅读(5406) 评论(0) 推荐(0) 编辑
摘要: 1、什么是粘包/拆包 一般所谓的TCP粘包是在一次接收数据不能完全地体现一个完整的消息数据。TCP通讯为何存在粘包呢?主要原因是TCP是以流的方式来处理数据,再加上网络上MTU的往往小于在应用处理的消息数据,所以就会引发一次接收的数据无法满足消息的需要,导致粘包的存在。处理粘包的唯一方法就是制定应用 阅读全文
posted @ 2018-03-01 22:41 武胜-阿伟 阅读(2660) 评论(0) 推荐(0) 编辑
摘要: Netty中,通讯的双方建立连接后,会把数据按照ByteBuf的方式进行传输,例如http协议中,就是通过HttpRequestDecoder对ByteBuf数据流进行处理,转换成http的对象。基于这个思路,我自定义一种通讯协议:Server和客户端直接传输java对象。 实现的原理是通过Enco 阅读全文
posted @ 2018-03-01 22:36 武胜-阿伟 阅读(7284) 评论(0) 推荐(0) 编辑
摘要: 通讯协议,指的是把Netty通讯管道中的二进制流转换为对象、把对象转换成二进制流的过程。转换过程追根究底还是ChannelInboundHandler、ChannelOutboundHandler的实现类在进行处理。ChannelInboundHandler负责把二进制流转换为对象,ChannelO 阅读全文
posted @ 2018-03-01 22:35 武胜-阿伟 阅读(2005) 评论(0) 推荐(0) 编辑
摘要: LengthFieldBasedFrameDecoder 常用的处理大数据分包传输问题的解决类,先对构造方法LengthFieldBasedFrameDecoder中的参数做以下解释说明 maxFrameLength:解码的帧的最大长度 lengthFieldOffset :长度属性的起始位(偏移位 阅读全文
posted @ 2018-03-01 21:39 武胜-阿伟 阅读(944) 评论(0) 推荐(0) 编辑
摘要: YY 语音登录协议分析 摘要:本文档详细记录了YY语音登录按钮事件所触发的一系列调用和相应库文件函数的调用,并对函数和类结构进行重命名,以简便记忆该名称,更详细的内容请参考反汇编文件.登录按钮事件: 用户在登录界面,填写用户名和密码,单击登录按钮则触发本事件yymainframe.dll1. 0x6 阅读全文
posted @ 2018-03-01 21:19 武胜-阿伟 阅读(325) 评论(0) 推荐(0) 编辑
摘要: color 0A && echo offrem protoc程序名set "PROTOC_EXE=protoc.exe"rem .proto文件名::set "PROTOCOL_FILE_NAME=t2.proto"%PROTOC_EXE% --versionset "WORK_DIR=%cd%"r 阅读全文
posted @ 2018-03-01 11:29 武胜-阿伟 阅读(683) 评论(0) 推荐(1) 编辑
摘要: 首先来说一下本文中例子所要实现的功能: 基于ProtoBuf序列化对象 使用Socket实现时时通信 数据包的编码和解码 下面来看具体的步骤: 一、Unity中使用ProtoBuf 导入DLL到Unity中,创建网络传输的模型类: using System; using ProtoBuf; //添加 阅读全文
posted @ 2018-03-01 09:01 武胜-阿伟 阅读(3113) 评论(0) 推荐(0) 编辑
摘要: [转]Protobuf3 语法指南 目录 [−] 定义一个消息类型 指定字段类型 分配标识号 指定字段规则 添加更多消息类型 添加注释 保留标识符(Reserved) 从.proto文件生成了什么? 标量数值类型 默认值 枚举 使用其他消息类型 导入定义 使用proto2消息类型 嵌套类型 更新一个 阅读全文
posted @ 2018-03-01 08:38 武胜-阿伟 阅读(758) 评论(0) 推荐(0) 编辑
摘要: Protocol Buffer 基础知识:c# 原文地址:https://developers.google.com/protocol-buffers/docs/csharptutorial 这篇讲解c#版的Protocol Buffers的帖子,并不是完整的指南。想了解更多的信息请查看 Proto 阅读全文
posted @ 2018-03-01 08:35 武胜-阿伟 阅读(340) 评论(0) 推荐(1) 编辑