Netty 4 ChannelInboundMessageHandlerAdapter(Netty 4 ChannelInboundMessageHandlerAdapter)

当这个类被实例化并连接到管道时,实际上会调用哪类ChannelInboundMessageHandlerAdapter ? 显然messageReceived是(如Netty 3中的情况)。 其文档中列出的其他方法如何?

为了处理消息,实现必须覆盖除messageReceived之外的任何其他方法吗?


Which methods of class ChannelInboundMessageHandlerAdapter will actually get called when this class has been instantiated and connected to a pipeline? obviously messageReceived is (as was the case in Netty 3). What about the other methods listed on its documentation?

Must an implementation override any of its other methods other than messageReceived in order to process messages?


原文:https://stackoverflow.com/questions/14978959
2019-12-07 05:38

满意答案

您只需覆盖messageReceived即可处理消息。 如果你想要一些“特殊”处理,你可以“覆盖”其他人。


You only need to override messageReceived to process messages. You "can" override others if you want some "special" handling.

相关问答

更多

netty如何使用

和spring , 先写一个类,然后与一般的bean同样配置 <!-- netty config example --> <bean id="tcpServer" class="com.yixun.collector.server.NettyTCPServer" init-method="createServerBootstrap" destroy-method="stopServer"> <property name="handshakePipelineFactory" ref="handsha...

Netty 4 ChannelInboundMessageHandlerAdapter(Netty 4 ChannelInboundMessageHandlerAdapter)

您只需覆盖messageReceived即可处理消息。 如果你想要一些“特殊”处理,你可以“覆盖”其他人。 You only need to override messageReceived to process messages. You "can" override others if you want some "special" handling.

使用Netty的SnappyFrameDecoder时出现StackOverFlow异常(StackOverFlow exception when using Netty's SnappyFrameDecoder)

这听起来像一个bug ...你能否在我们的bugtracker [1]上打开一个问题并包含stacktrace等。还包括你正在使用的Netty版本。 [1] https://github.com/netty/netty/issues/ This sounds like a bug... Could you please open an issue on our bugtracker[1] and include the stacktrace etc. Also include the Netty ...

Netty:从管道外部向所有(TCP)客户端发送消息(Netty: send messages to all (TCP) clients from outside the pipeline)

是的,这将毫无问题地工作。 ChannelGroup专为此类任务而设计。 Yes this will work without problems. ChannelGroup was designed for tasks like this.

Jboss netty和netty之间的区别?(Difference between Jboss netty and netty?)

在这篇文章中你可以找到你回答,在Netty 3.X中,这些包来自org.jboss.netty。* http://netty.io/3.10/api/index.html 但是从Netty 4.X开始,包装来自io.netty。*参见: http ://netty.io/4.0/api/index.html 是的,版本3和版本4有几个不同之处。 我建议您使用稳定版本进行开发,请在http://netty.io/wiki/index.html中查看 In this post you could fi...

用于HTTP / 2的Netty ProxyHandler(Netty ProxyHandler for HTTP/2)

ProxyHandler不支持HTTP1 / 1。 No the ProxyHandler does only support HTTP1/1.

Spark如何使用Netty?(How does Spark use Netty?)

Spark使用Akka Actor进行RPC和消息传递,而后者使用Netty。 另外,为了移动批量数据,使用Netty。 对于混洗数据,可以选择使用Netty。 默认情况下,NIO直接用于传输洗牌数据。 对于广播数据(驾驶员对所有员工的数据传输),默认情况下使用Jetty。 Spark uses Akka Actor for RPC and messaging, which in turn uses Netty. Also, for moving bulk data, Netty is used....

Netty - 它是如何异步的?(Netty - how is it asynchronous?)

netty的异步来自哪里? Netty采用了你可能从JavaScript这样的语言中得知的eventloops原理。 这允许netty完全异步工作。 (有关eventloops和基本原理的更多信息,我会推荐这个关于JavaScript中的evenloop的视频 ) 客户端需要什么来从异步获益? 客户端发送请求(包含有效负载和请求id = clientside递增整数) 服务器处理请求50秒 服务器发送响应(包含有效载荷和客户端在其请求中发送的相同请求ID) 客户端收到响应并查找请求标识(如果客户端...

何时在netty中使用Unpooled(when to use Unpooled in netty)

将byte[]传递给Netty write方法相当于传递未加密的ByteBuf 。 我们可以在ByteArrayEncoder的源代码中看到这一点,它在内部调用Unpooled#wrappedBuffer(byte[]) : @Override protected void encode(ChannelHandlerContext ctx, byte[] msg, List<Object> out) throws Exception { out.add(Unpooled.wrappedBu...

Netty 4.0频道本地(Netty 4.0 Channel Local)

在我发布问题后不久找到答案。 我需要使用频道上提供的属性映射: http://netty.io/wiki/new-and-noteworthy.html Found the answer shortly after I posted my question. I need to use the attribute map available on the Channel: http://netty.io/wiki/new-and-noteworthy.html

相关文章

更多

[Netty 1] 初识Netty

1. 简介 最早接触netty是在阅读Zookeeper源码的时候,后来看到Storm的消息传输层也由 ...

Netty环境配置

netty是一个java事件驱动的网络通信框架,也就是一个jar包,只要在项目里引用即可。

Netty开发环境配置

最新版本的Netty 4.x和JDK 1.6及更高版本

Netty源码分析

Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户 ...

storm学习之Netty代替ZMQ

整理自 http://www.csdn.net/article/2014-08-04/2821018/ ...

Netty基于流的传输处理

​在TCP/IP的基于流的传输中,接收的数据被存储到套接字接收缓冲器中。不幸的是,基于流的传输的缓冲器 ...

Netty入门实例-时间服务器

Netty中服务器和客户端之间最大的和唯一的区别是使用了不同的Bootstrap和Channel实现

Netty入门实例-使用POJO代替ByteBuf

使用TIME协议的客户端和服务器示例,让它们使用POJO来代替原来的ByteBuf。

在Twitter,Netty 4 GC开销降为五分之一

原文:http://www.infoq.com/cn/news/2013/11/netty4-twit ...

Netty入门实例-编写服务器端程序

channelRead()处理程序方法实现如下

最新问答

更多

java中的Base64二进制数据类型(Base64 binary data type in java)

Base-64编码是一种将任意字节转换为适合ASCII编码的文本字符范围内的字节的方法。 这是在没有任何解释的情况下完成的 - 原始字节在发送者端被转换为base-64; 接收器将它们转换回字节流,这就是它的全部内容。 当您的代码打印encoded1.getClass().getName() ,它获取的只是字节数组的静态类型。 为了将base-64中编码的数据解释为对程序有意义的内容,您需要知道作为base-64传输的基础数据的格式。 一旦字节传递给你(在你的情况下,这是encoded1的1字节

SQL Select Distinct基于条件(SQL Select Distinct based on Conditional)

你可以试试这个, SELECT ASN, CASE WHEN MAX_STATUS = 2 THEN 'MISCOUNT' WHEN MAX_STATUS = 0 THEN 'NOT STARTED' WHEN MAX_STATUS = 1 AND MIN_STATUS = 1 THEN 'VERIFIED' WHEN MAX_STATUS = 1 AND MIN_STATUS = 0 THEN 'I

带有Category和SubCategory的嵌套类别表(Nested Category table with Category and SubCategory)

检查公用表表达式,这些表达式允许您创建“递归选择”。 http://www.mssqltips.com/sqlservertip/1520/recursive-queries-using-common-table-expressions-cte-in-sql-server/ Check for Common Table Expressions, those allow you to create "recursive-selects". http://www.mssqltips.com/sqls

我的应用程序中有两个http请求,但我只想使用一个'http_proxy'(I have two http requests in my application, but I want only one use 'http_proxy')

我的解决方案是改变lib。 我正在使用SOAPpy,现在我正在使用SUDS并且工作。 由于某种原因,SOAPpy中的param http_proxy错误地使用了代理。 My solution was to change the lib. I was using SOAPpy, now Im using SUDS and worked. For some reason the param http_proxy in SOAPpy was using the proxy incorrectly.

记录样本的GNU无线电文件格式(GNU Radio File Format for the recorded samples)

文件接收器只是数据流的转储。 如果数据流内容是简单字节,那么文件的内容很简单。 如果数据流包含复数,则该文件将包含复数列表,其中每个复数由两个浮点数给出,每个浮点数(通常)为4个字节。 有关gnuradio文件读写块的实现,请参阅文件gnuradio / gnuradio-core / src / lib / io / gr_file_sink.cc和gr_file_source.cc。 您还可以使用python和gnuradio将文件转换为其他格式。 from gnuradio import

在Windows下的package.json脚本中设置环境变量(Setting environment variables in package.json scripts under Windows)

我设法解决了这个问题,有趣的是,删除了空间: "buildDev": "set NODE_ENV=development&& webpack" 哪个(至少对我来说)似乎是错的。 我预计这将导致语法错误和development&&的NODE_ENV值,但它完美地工作 - 尽管是丑陋的。 Make it cross-platform by using cross-env: "buildDev": "cross-env NODE_ENV=development webpack"

无法使用Renderer将Object实例设置为JComboBox的选定项(Unable to set Object instance as selected item of JComboBox with Renderer)

如果要通过使用对象的不同实例来执行此操作,但具有相同的属性,则需要覆盖类的equals和hashcode方法,以便属性组合是唯一的。 这非常重要,这是一种关系期望,任何equal另一个的对象都将具有相同的hashcode 这是一个非常快速的示例,我使用IDE的自动生成过程(因为我很懒),但是,如果您的Registration类具有在与类的实例进行比较时应该考虑的其他属性,则需要将其修改为支持他们(再次,任何好的IDE都应该能够做到这一点) public class Registration {

在表单提交上,在Codeiginiter验证之前首先进行jquery检查(On Form Submission, do jquery checking first before Codeiginiter validation)

如果您想在提交表单之前在客户端进行验证,则以下内容将起作用: // view echo form_open('basic_controller/submission'); echo form_input( array('name'=>'text', 'id'=>'text_input') ); echo form_submit('my_submit', 'Enter', "id='my_submit'"); echo form_close(); // controller function s

返回然后作为未定义。(Returning Then as Undefined. Q in NodeJS)

您的主要功能landingPage没有返回值。 其中的代码产生一个承诺,但你也应该返回它。 当你想要返回deferred持有的promise时,你应该延迟一个在外部函数作用域中定义的变量,这样你就可以返回它定义的promise( deferred.promise ): var landingPage = function (dir) { var deferred = Q.defer(); // *** define here Uni.get('https://'+getDirec

在同一个类中调用方法(Calling a method within the same class)

这不是一种扩展方法。 你需要使方法静态并调用它们: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication4 { class arraymod { static void Main( string[] args ) { int[]