0 0

Netty问题,消息解不出来10

在proto文件中,数据结构式这样的定义的
message ReqMsg {
  required int32 id = 1;
  extensions 100 to max;
}
extend ReqMsg{
   optional Person personReq = 100;
}
message Person {
  required int32 id = 1;        // Unique ID number for this person.
  required string name = 2;

  optional string email = 3;
}
Netty服务端我做了输出
ReqMsg msg = (ReqMsg)e.getMessage();
System.out.println(TextFormat.printToString(msg)) ;
System.out.println("lenth:"+ msg.toByteArray().length);
Person p = msg.getExtension(CommonMsg.personReq);
System.out.println("id:"+msg.getId()+"   perserId: "+p.getId()+"  email:  "+p.getEmail()+"  name:"+p.getName());
输出结果如下
id: 0(输出正常)
100: "\bd\022\003i=0\032%email7fdfdfdfddddddddddff:::0@126.com"  (未知)

lenth:51(输出正常)
id:0   perserId: 0  email:    name:(异常 Person 的 id email name 都没有获取到)


2012年6月18日 10:03

1个答案 按时间排序 按投票排序

0 0

ProtobufDecoder这个类和ProtobufEncoder,这是netty提供的,probuf协议要经过这两个类编码和解码就正确了,具体的你的代码看的不清楚

2013年4月25日 17:03

相关推荐

    Netty 20道面试题和答案.docx

    3. Netty 的文件传输采用了 transferTo 方法,它可以直接将文件缓冲区的数据发送到目标 Channel,避免了传统通过循环 write 方式导致的内存拷贝问题。 Netty 的优势有哪些? 1. 使用简单:封装了 NIO 的很多细节,...

    twjitm-core:采用Netty信息加载实现长连接实时通讯系统,客户端可以在任何场景,支持实时HTTP通讯,webSocket通讯,tcp协议通讯,和udp协议通讯,广播协议等通过http协议,rpc协议。自定义网络数据包结构,实现自定义网络栈

    2:采用自定义注释解形式实现netty专有消息协议栈。 3:支持远程RPC调用。 4:支持redis。 5:支持db分离。 6:支持同步和异步消息处理7:支持kafka消息级别提供/消费模式来实现多样的消息类型8:支持数据加密传输...

    java开源包3

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    RocketMQ黑马笔记

    RocketMQ的常见问题主要包括消息丢失、消息延迟、Broker宕机等问题。这些问题需要在实际应用中进行解决。 二十一、RocketMQ的源码 RocketMQ的源码主要包括Java语言、Netty网络框架、LevelDB存储引擎等技术。这些...

    C#通过TCP实现 HL7医疗系统传输的协议,并使用MLLP协议发送HL7消息

    接收端需要正确解析这些控制字符来解封装消息。 4. **编码和解码HL7消息**:在C#中,你可以使用字符串操作或正则表达式来添加和提取MLLP的控制字符。同时,需要确保HL7消息的编码格式(如UTF-8)与接收方一致,避免...

    self-entertainment:在线花店,消息中间件,springcloud,spring,sharding-jdbc,springboot,netty源码,vue,elasticsearch,lucene,mybatis,jpa

    自我娱乐项目模块简介activemq模块主要是测试消息中间件的一些特性,包括持久订阅,连续/定时投递,死信变量,kafka的生产者和消费者,指定位置自定义读取主题,了解分区和分组机制amazingt是一个常用的springweb...

    RocketMQ的安装.docx

    Apache RocketMQ 是一款开源的消息中间件,被广泛应用于大数据领域,尤其在分布式系统中作为消息传递的核心组件。本文将详细介绍如何在Windows环境下安装和配置RocketMQ。 ** RocketMQ 安装步骤 ** 1. **获取 ...

    深圳证券交易所Binary行情数据接口规范(Ver1.03)_深交所binary行情_

    - 可靠性方面,系统需要有重传机制,确保即使在网络不稳定的情况下也能正确接收数据。 7. **实时性与延迟** - 对于证券交易所来说,实时性至关重要,因此Binary行情接口需要设计成低延迟模式,保证最新行情能即时...

    JAVA-IM.rar_Java IM开发_Java-IM_java im_java IM_基于im

    在实际项目中,开发者还需要考虑系统的扩展性、容错性、负载均衡等问题,以及可能用到的第三方库和服务,如Apache Mina、Netty等高性能网络通信框架,或者使用WebSocket实现双向通信。通过不断学习和实践,可以构建...

    javaredis源码-anatomy-lettuce:庖丁解架构之RedisJava客户端Lettuce架构解剖和源码精读相关代码

    《庖丁解架构之RedisJava客户端Lettuce架构解剖与源码精读》 在IT行业中,Redis作为一款高性能的内存数据结构存储系统,被广泛应用于缓存、消息队列等多个场景。而Java作为企业级开发的主要语言,自然需要与Redis...

    Java面试要点(适用于2年以上经验,1年亦可)

    1. 什么是 Java 消息服务、JMS 消息传送模型 JMX 1. java.lang.management.*、javax.management.* 泛型 1. 泛型与继承类型擦除 2. 泛型中 K T V E 等的含义 3. 泛型各种用法 单元测试 1. junit、mock、mockito...

    JAVA上百实例源码以及开源项目源代码

    消息驱动Bean必须实现两个接口MessageDrivenBean和MessageListener 在对象创建的过程中将被容器调用,onMessage函数方法接收消息参数,将其强制转型为合适的消息类型,同时打印出消息的内容。同时一个mail note将被...

    北斗云物联网平台介绍 .pptx

    利用Netty中间件处理数据采集,Kafka消息中间件实现数据传输,同时具备数据缓存、存储、订阅与交换系统,确保数据的安全和高效流动。 2. 北斗云物联网服务平台:此平台专注于处理北斗原始观测数据,通过钟差矫正、...

    java开源包1

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包11

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包2

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包6

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包5

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包10

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    后端技术学习路线图.pdf

    - 消息队列: 如Kafka和RocketMQ,用于解耦合、异步处理和流量削峰。 3. 高阶知识点: - 编程范式: 如函数式编程、面向对象编程、泛型编程。 - 设计模式: 如装饰器模式、代理模式,遵循的设计准则如DRY、KISS、S....

Global site tag (gtag.js) - Google Analytics