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

似乎netty有两个来源? 一个来自Jboss netty而另一个来自(普通)netty? 它们几乎相同,略有不同。

如:io.netty.handler.codec.http.HttpRequest和org.jboss.netty.handler.codec.http.HttpRequest。 它们看起来几乎相同,但有几个不同的签名。

我的问题是:一些示例代码基于jboss,一些代码代码基于普通的Netty,它们很混乱。 我应该使用哪一个? 为什么两个这么相似的包?

请执行我,我是netty的新手,感谢您的回答。 这让我今天疯了。 谢谢。


Seems netty has two sources? One is from Jboss netty and the other is (plain)netty? They are almost the same with slightly difference.

Such as: io.netty.handler.codec.http.HttpRequest and org.jboss.netty.handler.codec.http.HttpRequest. They looks almost the same but have several different signatures.

My question is: some sample code are based on jboss and some code code are based on plain Netty, they are so confused. Which one should i use? Why two so similar packages?

Please execute me i am a newbie for netty, and appreciate your answer. This makes me crazy today. Thank you.


原文:https://stackoverflow.com/questions/42781445
2021-07-11 20:07

满意答案

在这篇文章中你可以找到你回答,在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 find you answer, in Netty 3.X the packages were from org.jboss.netty.* http://netty.io/3.10/api/index.html

But started Netty 4.X the packeages are from io.netty.* see: http://netty.io/4.0/api/index.html

And yes, version 3 and version 4 has several diferences. I recommend you develop in the stable version, check it in http://netty.io/wiki/index.html

相关问答

更多

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中channel.isOpen()和channel.isConnected()之间的区别?(Difference between channel.isOpen() and channel.isConnected() in Netty?)

这是不正确的,一个频道可以打开并且没有连接,但是连接的频道必须打开。 您可以使用将SocketAddress作为参数的write方法将数据发送到未连接的开放式通道以进行无连接传输。 否则,通道需要已经打开并连接。 That's incorrect, a channel can be open and not connected, but a connected channel is necessarily open. You can send data to an open channel tha...

关于Netty和并发处理程序(about handlers in Netty and concurrency)

它是一个例子中的“bug”。 这里不需要AtomicLong。 所以你是对的。 如果在每个ChannelPipeline创建中添加处理程序的新实例,则不需要担心这种并发问题。 我将在netty中修正这个例子。 谢谢! Its a "bug" in the example. There is no need for the AtomicLong here. So you are right. If you add a new instance of the handler on every Chan...

Android上的Proguard和Netty 5(Proguard and Netty 5 on Android)

在阅读了相当庞大的Netty资源的一部分之后,我已经用一些仔细应用的Proguard规则解决了这个问题: -keepattributes Signature,InnerClasses -keepclasseswithmembers class io.netty.** { *; } -keepnames class io.netty.** { *; } 我原来的异常是由字节码中的类型变量引起的,Netty通过反射来使用字节码。 -keepattributes Signature保留...

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...

Jboss Netty - 如何使用3个工作线程提供2个连接(Jboss Netty - How to serve 2 connections using 3 worker threads)

我没有详细分析您的源代码,因此我不确切地知道它为什么不能正常工作。 但是SRNGChannelFutureListener这一行看起来很可疑: Thread.sleep(1000*5); 这将使执行它的线程锁定5秒; 在此期间,该线程将无法进行任何其他处理。 问题C:不,它不会创建10,000个线程; Netty的全部意义在于它没有这样做,因为那确实不会很好地扩展。 相反,它使用来自线程池的有限数量的线程,在发生某些事件时生成事件,并在池中的线程上运行事件处理程序。 因此,线程和连接彼此分离(每...

Netty渠道混乱(Netty channelread confusion)

首先,在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 现在,如果您使用Netty 4.X来阅读消息,请使用该方法 ChannelRead(ChannelHandleContext ctx, Object msg) { ... } 继承自ChannelInbound...

如何使用netty保护websockets(how to secure websockets with netty)

Netty有例子:-) Netty Master https://github.com/netty/netty/tree/master/example/src/main/java/io/netty/example/http/websocketx/sslserver Netty 3.x分支https://github.com/netty/netty/tree/3/src/main/java/org/jboss/netty/example/http/websocketx/sslserver Netty...

Netty SSL / TLS / HTTPS支持(Netty SSL / TLS / HTTPS support)

请参阅netty的“示例”[ 2 ]部分中的安全聊天[ 1 ]示例。 Refer the secure chat[1] example in the "examples"[2] section of netty.

为什么Netty需要线程池?(Why Netty need thread pools?)

我对node.js和javascript的了解相对有限,但是不受node.js的限制,因为javascript不支持多线程? 在Netty中使用boss和worker线程是为了能够利用多个处理器内核而无需运行多个进程。 JVM非常繁重,因此限制所需的实例数是有意义的。 另外我怀疑操作系统在线程之间切换要比完整进程快得多。 Boss线程用于接受传入连接,但是连接的处理被传递给工作线程。 我没有参考手,但我模模糊糊地记得Grizzly项目发布了一些性能结果,表明这比尝试接受传入连接更高效,并在同一个线...

相关文章

更多

[Netty 1] 初识Netty

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

Netty源码分析

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

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

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

Netty环境配置

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

Netty开发环境配置

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

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。

spring 3.0 和jpa 整合 用jboss

1、网上说了很多例子,这就不说了,只介绍下我遇见的问题 java.lang.ClassCastExce ...

最新问答

更多

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[]