Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
 Netty_IT技术博客_编程技术问答 - 「Fatal编程技术网」

Netty 如何将NioServerSocketChannelFactory与WorkManager结合起来

我希望实现一个JCA资源适配器来接受J2EE容器中的套接字连接 我需要能够以某种方式管理netty的线程 非常感谢您的帮助。收到了!NioServerSocketChannelFactory将两个执行器(boss和worker)作为构造函数的参数。所以我需要做的就是开发一个WorkManager的facade,以实现将使用WorkManager.schedule(…)调用的execute(Runnable)方法

如何知道channelDisconnected是否来自Netty客户端中的客户端或服务器

我们有两个Netty客户端,其处理程序是可共享的,不包含任何可变状态。处理程序被添加到StaticChannelPipline中。我想知道是否有办法知道通道断开连接是由于服务器关闭连接还是无法通过调用客户端指定的回调来通知这种情况。您可以覆盖SimpleChannelDownstreamHandler.closeRequested()在应用程序调用Channel.close()时获得通知 但是,即使调用了Channel.close(),也始终存在一种竞争条件,即远程对等方试图同时关闭连接。因此,

使用netty开发一个游戏,请帮助我?

我是一名学生,在最近的学习中,感觉很棒。我想用它来写一个及时互动的小游戏。不知道如何写处理层。单独处理业务逻辑模块,处理程序在如何处理呢?不知道如何开始。谢谢我认为最好的开始是看看netty提供的示例[1]。一旦你完成了,回来问更具体的问题 [1] 用户指南也是一个很好的起点 请记住点击javadoc链接,因为javadoc包含大量信息。以下是我编写并发布到Github的一篇文章。这有多人游戏的客户端和服务器端。它可能比您的需求更复杂一些,但该页面可能会帮助您了解netty的用法

在通道初始化后添加Netty处理程序:Netty 4.0.17.Final

我创建了一个带有channelInitializer的NettyServer,它在initChannel方法中设置管道。然后我打电话 b.bindPort(端口).sync().channel().pipeline().addLast(处理程序)。 在初始化管道之前添加处理程序,我想是因为同步只等待创建通道 问题是,在管道已经初始化之后,如何将处理程序添加到管道的末尾 另外,如何确保在服务器接收任何消息之前添加最后一个处理程序 谢谢。这本书有以下几点: 您可以在初始化器中添加多个处理程序:

序列化netty';这是完整的httprequest

我的Java项目中运行着一个netty服务器,正在侦听请求。Netty将请求在内部转换为FullHttpRequest类型,然后再将其交给处理程序。现在在我的处理程序中,我正在尝试序列化,因为我必须将它推送到rabbitmq。但看起来它是不可序列化的: due java.io.NotSerializableException: io.netty.handler.codec.http.DefaultFullHttpRequest at org.apache.camel.impl.conve

对ServerBootstrap和Bootstrap使用相同的netty EventLoopGroup是一个好主意吗?

《指南》指出,诺曼·莫雷尔(Norman Maurer)有一个小建议,建议尽可能重复使用一个组 如果可以,请重新使用EventLoopGroup 在我的例子中,我编写了一个应用程序,将财务数据多路传输到一组连接的web套接字客户端。目前有三个引导,它们都使用一个单独的NioEventLoopGroup: 1台服务器引导程序处理连接的web套接字 1个引导程序连接到服务器引导程序 2个用于不同tick数据源(远程服务器)的引导 阅读这张特定的幻灯片,我只需创建一次我的NioEventLoopG

与Netty处理程序相比,使用LMAX Disruptor进行事件处理会降低性能

我已经编写了一个Netty HTTP服务器 我正在找出处理Http请求的正确方法 选项:(1.网络处理器2.最大干扰器) 我在某个地方读到过,lmaxdisruptor适合异步事件处理 但在负载测试之后,使用LMAX Disruptor进行事件处理的服务器提供的吞吐量比Netty Handler低70%。潜伏期也增加了200% 我在一个8芯16gb的盒子上获得了30k qps。使用Lmax干扰器后,我获得了10k qps。 目前我的服务只是读取Json请求并返回静态响应。我只是想比较一下现在的

Netty 我似乎突然面临这个问题,因为这已经持续了几个星期。有人知道这是什么原因吗?

激发了exceptionCaught()事件,该事件到达管道的尾部。这通常意味着管道中的最后一个处理程序没有处理异常。 位于io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:624) 在io.netty.channel.DefaultChannelPipeline.access$100(DefaultChannelPipeline.java:46) 在io.netty.cha

Netty 如果客户端读取数据,而应用程序继续写入,则什么是净关闭通道策略?

我的应用程序使用Netty 4.x和TCP套接字将相同的数据分发给多个客户端。我希望我的应用程序能够容忍一些客户端在接收数据时出现停顿,但如果客户端速度太慢,我希望我的应用程序放弃(关闭)连接 如果我理解正确,我可以通过配置适当的: sendBufferSize(在底层操作系统允许的范围内) ChannelOption.写入缓冲区高水位标记 NettyChannel.write()写入ChannelOutboundBuffer。ChannelOutputBuffers的内容写入NIO Soc

Netty 使用DelimiterBasedFrameDecoder的可变服务器性能

我有一个服务器正在读取入站新行分隔字符串。管道如下所示: ... pipeline.addLast("framer", new DelimiterBasedFrameDecoder(65535, Delimiters.lineDelimiter())); // plain old strings pipeline.addLast("decoder", new StringDecoder()); // callback to handle

分配内存时,Netty显示OutOfMemoryError

我使用Netty3.2.4进行长连接,当服务器启动时,工作正常,但在删除几天后,服务器可能会显示OutOfMemoryError,详细日志信息如下: <Error> <HTTP> <BEA-101017> <[weblogic.servlet.internal.WebAppServletContext@5cd7f9 - appName: 'perbank', name: 'perbank', context-path: '/perbank'] Root

netty中sync和wait的区别

netty上的sync和wait方法有什么区别?两者都阻止当前线程吗 谢谢我觉得我不同意,这些文件写得并不差。它们是存在的,但您需要阅读API。然而,如果你觉得缺少一些医生,Netty喜欢捐款;-) 因此,对于您的问题:sync() 见API: 我不知道netty是什么,但在谷歌的帮助下,这里有一个区别:-.@marounnaroun这可能就是问题所在-这些文档写得很糟糕,会让大多数人问为什么有同步和等待两种方法似乎都能做同样的事情。确切地说,我读了这些文档,但无法理解它们的不同之处nce.“如

通过Netty中的多个InboundHandler或OutboundHandler传递数据

文档中的示例提供了解码器->编码器->BusinessLogicHandler流。 我想知道的是如何将数据传递给一行中的多个InboundHandler和多个OutboundHandler。从我所能分辨的情况来看,解码器将字节解码为POJO。然后,在BuginessLogicHandler(InboundHandlerAdapter的子类)中,它执行ctx.writeAndFlush()。是这个动作将数据发送出去,编码器(出站)将数据转换回字节。如果这个假设是正确的,那么如何从InboundH

为什么netty 4.1可以';找不到LongObjectHashMap和LongObjectMap

我只是从Github(branchorigin/4.1)中克隆了Netty,但我无法运行示例,从而导致此错误 我找不到这个类,甚至在netty common中找不到包,在github上也找不到,我该怎么办?这些都是生成的。。。运行/mvnw clean compile 您可以看到,在common/src/script中有一个groovy脚本,内容是 String[] templateDirs = [properties["collection.template.dir"],

Netty-输入流中的GZIP问题

我正在尝试使用以下代码启动Netty频道 @Override public void initChannel(SocketChannel ch) { ch.pipeline().addFirst(new ReadTimeoutHandler(30)); ch.pipeline().addLast(new JdkZlibDecoder(ZlibWrapper.GZIP)); ch.pipeline().addLast(new Line

从字符串构造Netty ChannelBuffer

将Netty ChannelBuffer转换为字符串非常简单,只需在ChannelBuffer上调用.toString(UTF_8)。如何从字符串创建ChannelBuffer?使用ChannelBuffers.copiedBuffer(字符串,字符集)在netty 4中,您可以使用未冷却的.copiedBuffer(字符串,字符集)

当使用netty上传大文件时,如何在上传过程中获得上传大小?

如果我可以在上传过程中获得文件的临时位置,我可以检查大小。但是,只有在接收到LastHttpContent并执行decoder.next() 我有没有办法提前得到文件名 我正在从运行示例代码 我想获得writeHttpData中的上传百分比,如果数据类型是FileUpload,正如@frederic在评论中提到的,现在是不可能的 在github上创建了以下问题 你能添加一些代码吗?你到底在做什么?@NormanMaurer谢谢你的回复。添加了示例代码引用。当前,确实,上载期间的文件在处理时不可用

Netty AbstractBootstrap#handler与ServerBootstrap#用于ServerBootstrap的childHandler?

特别是,我想重申一下一个和另一个的答案。哪里有文件证明 处理程序,在抽象引导中定义,用于编写基于Netty的客户端 及 编写基于Netty的服务器时[使用]childHandler,如ServerBootstrap中所定义 换句话说,两者的区别在哪里 val b=new ServerBootstrap() b、 组(boss,wrkr) .channel(类[NioServerSocketChannel]) .handler(新的LoggingHandler(LogLevel.INFO)) ^^

Netty4-在具有执行器的同一管道中的处理程序之间传递信息

我对内蒂比较陌生。我试图在管道中的处理程序之间传递信息。最初,我使用的是通道属性: context.channel().attr(MY_ATTRIB).set(value); context.channel().attr(MY_ATTRIB).get(); 这与我预期的一样有效,但当我为某些处理程序添加EventExecuter时: DefaultEventExecutorGroup eventExecutor = new DefaultEventExecutorGroup(64); ...

未调用netty channelDuplexHandler写入

ChannelDuplexHandler写入方法应该在它是最后一个处理程序时调用,但实际上不是 从 入站和出站事件的评估顺序可以分别为1、5和5 因此,我认为当调用ctx.write()inchannelRead时,应该调用下面类中的write: @ChannelHandler.Sharable @Component public class InboundOutboundHandlerX extends ChannelDuplexHandler { @Override pu

Netty 4事件组关闭

我正在使用Netty 4.0.0.Beta2 我有一个配置了几个处理程序的管道,最后一个处理程序在自己的EventExecutorGroup中运行。有点像这样: DefaultEventExecutorGroup separateGroup = new DefaultEventExecutorGroup(); ChannelPipeline pipeline = ch.pipeline(); pipeline.addLast(AGGREGATE, new SomeHandler()); pip

如何使用Netty在主电源中使用两个插座

我是一个Netty初学者,希望使用Netty同时运行服务器套接字和客户端套接字。但是,当我尝试它时,我只能运行一个套接字,而另一个无法运行。 实际上,我想要的是与Webbrowser的websocket通信,并将其传递到同一应用程序中的客户端套接字,以将其发送到TCP/IP套接字服务器。 谢谢你的帮助 这是我的密码: public class WsServer { private int port; public WsServer(int port){ this

Netty channelActive vs channelRead0

我正在使用netty 4.0.33构建SSL/TLS客户机/服务器。对于每个连接,我都要记录一条消息,说明两个对等方之间的TLS连接成功。 我应该把这段代码放在哪里?channelActive还是channelRead0?我对channelActive和channelRead0的用途有点困惑。看起来在服务器端,我们根本不需要channelActive。这是真的吗?您可以将LoggingHandler添加到管道中,如果客户端处于活动状态,它将记录日志。主动意味着连接。ChannelRead在cha

Netty 读取具有PooledUnsafeDirectByteBuf的HttpContent

我有一个Reactor Netty HttpServer,我从HttpClient向它发送超过1024字节的数据 在客户机中,我在一个流程中获得请求的不同部分 将数据连接成一个字符串,我可以最终解析它。 我认为这本可以由HttpObjectAggregator完成,但可惜没有 当客户端接收到内容时,它以 DefaultHttpContent(数据:PooledSlicedByteBuf(ridx:1024,widx:1024,cap:1024/1024,展开:PooledUnsafeDirect

Netty 如何使用http/2进行呼叫

我试图使用java客户机对服务器进行http/2调用,但我知道Java8不支持http/2,其他java客户机(如pushy等)需要alpn依赖。我发现netty可以在没有alpn的情况下用于http/2 有人能建议如何使用netty制作http/2吗? 示例代码将不胜感激。请检查netty附带的示例。它包括http2的服务器和客户端示例。Netty本身提供了对原生SSL实现openssl的支持,该实现将为您完成ALPN工作。而且,如果您使用Java9,因为它支持ALPN,那么它也可以工作

Netty 是否有比处理程序级别更低的接口?我想对内存分配有更多的控制

AFAICT netty在每次读取时返回一个新的缓冲区。至少在调用处理程序中的channelRead()时,每个消息都有不同的内存地址 我明白为什么。除非用户能够保证在该功能之外不会访问内存。但是,如果您不必这样做的话,它看起来很慢,而且很浪费(即使缓冲区是池化的并且引用是计数的) 我宁愿读/写我的应用程序控件,而不是netty控件。我了解内存使用的生命周期。内蒂没有 eventloop中是否有较低级别的接口?一个我可以读入我自己选择的缓冲区的地方?(就像过去50年中编写的所有网络api一样)

Netty Cassandra Datastax反应式驱动程序操作时间异常

我们有SpringBoot应用程序,它使用SpringBootStarter数据Cassandra连接到Cassandra。在应用程序启动并在生产中运行6到7小时后,我们开始注意到OperationTimedOutException。我们有5个节点的集群。问题显然在于客户机数据驱动因素和潜在的网络连接。Cassandra日志中显然没有活动,或者Cassandra上没有网络活动。查询本身不会失败,只需在默认的12秒后重试,即可正常工作。这个问题在不同的问题上随机出现。datastax驱动程序为3.

Netty 事件组和BIO操作。

我有一个Netty Web服务器,它应该使用Hibernate检索数据并向客户端返回响应 所以我只是想知道我的实现是否正确 ChannelPipeline pipeline = ch.pipeline(); EventExecutorGroup ex = new DefaultEventExecutorGroup(64); pipeline.addLast("decoder", new HttpRequestDecoder()); pipe

Netty 带前卫的收缩网状物

有谁能给我精确的.Proguard-to-shrink-Netty(版本4或5)的.pro文件吗 我有一个使用Netty的jar文件,我正在使用Proguard 4.11将我的带有Netty的jar文件模糊化并缩小为一个小jar文件。我并没有使用所有的Netty类,我的jar大小约为600kb,Netty将近2mb,我希望使模糊的jar文件小于1mb 问题是,当我执行模糊化的jar文件时,会出现许多与Netty相关的异常。我试图通过在Proguard中保留一些Netty类和成员来修复它,但我不断

在尝试检索Netty中的最后一个处理程序时,处理程序上间歇性地获取Null

我有一个netty客户端,它可以连接到远程服务器进行请求响应。我想阻止,直到远程连接成功并解析响应。我的处理程序在检索结果方面类似于 这是我的 Channel ch = bootstrap.connect(addr).sync().channel(); ChannelFuture f = ch.writeAndFlush(obj); //blocking operation ch.closeFuture().sync(); MyHandler handler = (MyHandler) f.ch

将jdk.tls.client.protocols系统属性设置为TLSv1.2在netty 4.1.48中不起作用

我们使用的是Redisson客户端,它使用netty连接到Redis服务器。在内蒂4.1.42的决赛中,一切顺利。但升级到netty 4.1.48.Final后,会发送TLSv1 ClientHello,因此无法连接到服务器。尝试通过设置jdk.tls.client.protocols系统属性来指定TLSv1.2,但netty似乎并不认可它 启用Java跟踪后,跟踪文件中会显示以下内容: 对于netty 4.1.48,默认协议只有TLSv1: jdk.tls.client.protocols i

如何将事件发送到netty中的其他处理程序?

与boost.asio不同,netty没有类似于read的方法。在以下情况下不成立: 管理节点管理一些节点,客户端连接到管理节点以检索节点中的信息。当管理节点接收到客户机的请求时,它向相应的节点发送请求并等待节点响应。当节点响应和管理节点在其“messageReceived”功能中获取信息时,如何将信息发送到属于客户端的通道?它需要向客户端请求的处理程序发送一个事件 1.get客户端请求 2.向节点发送请求 3.读取该节点的响应 4.向客户发送响应 所有这4个步骤都可以在boost.asio的一

Android上的Netty-访问sun.misc.Unsafe

我已经在原生Android上与netty服务器进行了netty-4-alpha、WebSocket(非常好的工作!)+SSL通信的实验。我让它运行了,但只是在我更改了如何在LinkedTransferQueue中获取sun.misc.Unsafe实例之后 不幸的是,UnsafeDetectUtil类只检查是否可以加载sun.misc.Unsafe,但在Android上,它在尝试获取实际的不安全实例时失败,因为(在Android上)它不是称为“theUnsafe”,而是称为“theu ONE”。我

未在IOException上调用Netty ChannelFuture.operationComplete()

我正在测试连接失败期间客户端服务器的处理 在客户端,当我从客户端向服务器发送消息时拔下LAN电缆时,不会调用我的ChannelFuture(如下)。 我所期望的是,这个异常会被我的未来抓住,这样我就可以在操作中完整地处理它 相反,它只是在客户端管道中的最后一个上游处理程序中被捕获。 我做错什么了吗?或者这是Netty 3.2.4的问题 拔下LAN电缆时,处理程序中出现异常: java.io.IOException: An existing connection was forcibly

Netty 如何提高服务器SSL性能

我在代理服务器上启用了SSL,发现性能已从每秒17k左右下降到每秒5k左右。我遵循了Netty的安全聊天示例中的代码,我认为我没有做任何不同的事情 我已经编写了一个虚拟服务器,以查看我是否在代理服务器上犯了一些错误。在正常http模式下运行虚拟SSL服务器每秒能够处理大约50k个请求。当我在虚拟服务器上启用SSL时,每秒请求数下降到28k 我做错什么了吗?有什么我遗漏的吗 我使用JDK 6编译代码,运行在JDK 7u4上。我也在使用Netty-3.5.0。 我正在用zeusbench进行测试。测

当与netty使用多连接时,framedecoder可能抛出IndexOutOfBoundsException

当我与netty使用多重连接时。服务器的帧解码器可能引发IndexOutOfBoundsException。我检查一下。是否有必要将“ChannelBuffer cumulation”更改为threadlocal参数?您必须使用新的FrameDecoder ber通道实例,因为其未标记为@Sharable 所以就用这样的方法: public void MyChannelPipelineFactory implements ChannelPipelineFactory { public C

Netty Framework-向HTTP响应(通道缓冲区)添加内容时发生异常

我正在使用Java HTTP代理(LittleProxy),它是在Netty框架上开发的。在一个简单的示例中,我添加了一个HTTP响应过滤器来处理图像内容,并将处理后的内容附加回响应消息。下面是我正在使用的代码片段 // Get the buffered channel output writer. DynamicChannelBuffer dyChannelBuf = new DynamicChannelBuffer(chanBuff.order(), chanBuff.capacity())

Netty 管道不包含上游句柄,因此丢弃数据包

我使用Netty接收数据包,但有时会出现以下异常: netty管道不包含上游处理程序丢弃 2011年6月6日下午7:22:13 org.jboss.netty.channel.DefaultChannelPipeline 警告:管道不包含上游处理程序;丢弃:[id:0x443ecfff,/127.0.0.1:62171=>/127.0.0.1:43594]已关闭 2011年6月6日下午7:22:13 org.jboss.netty.channel.DefaultChannelPipeline 警

如何在netty中启用TLSv1.3?

由于满足了中提到的所有要求: 也就是说,默认情况下未启用TLSv1.3,因此如果要使用它,则需要在配置SslContextBuilder时使用TLSv1.3显式启用它(例如): SslContextBuilder.forClient()协议(“TLSv1.3”) 但我遇到如下例外情况: io.netty.handler.codec.DecoderException:javax.net.ssl.SSLHandshakeException:error:100000f0:ssl例程:OPENSSL\

Netty 空手道有没有内置的制作方法';路径匹配不区分大小写?

我使用空手道Netty来模拟现有的服务,这样我们就可以更轻松地测试与定制数据的集成。我们刚刚意识到,现有服务接受不匹配情况的路径(…/api/EndPoint被视为与…/api/EndPoint等相同) 有没有办法使用pathMatches功能来接受我们发送的任何案例?请注意,您可以编写帮助函数并将它们粘贴到背景中。大概是这样的: Background: * def pathIs = function(x){ return karate.get('requestUri').toLowerCase

Netty 如果ChannelOutboundHandlerAdapter用于出站IO操作,为什么它有一个读取方法

据我所知,在Netty中,ChannelOutboundHandlerAdapter用于出站IO操作:即写入,但实现ChannelOutboundHandlerAdapter的类也可以实现读取方法,这在我看来似乎不正确,为什么用于写入的组件应该具有读取方法 相反的组件,即ChannelInboundHandlerAdapter,用于入站IO操作,即读取,没有写入方法。这听起来不错 为什么ChannelOutboundHandlerAdapter可以实现读取方法,如果它应该将数据从管道中推出?re

Webflux:Netty始终使用默认的ConnectionProvider

我正在使用: 弹簧靴:2.4.5 春云:2020.0.2 我尝试使用以下内容为我的应用程序定义连接池: @Bean public WebClient createWebClient() throws SSLException { LoopResources resources = LoopResources.create("my-loop"); SslContext sslContext = SslContextBuild

从NettyRequest获取URL中指定的用户名

我有一个Netty HTTP服务器,并且正在收到如下请求: 在我的处理程序中,我有一个DefaultHttpRequest对象。有没有办法从URL获取“someuser%40abc.com”?我是否必须修改一些内容才能更早地获取并传递它?你的意思是问如何从messageReceived()获取URL 正如Jestan Nirojan前面提到的,URI方案仅由客户端支持。HTTP服务器永远不会收到http://user@主机。此外,当在URI方案中使用身份验证凭据时,客户机只有在被质询这些凭据时

Netty在握手时或握手过程中自定义唯一通道ID

我使用了客户机/服务器聊天示例来实现我的SSL要求。 我的需求的主要部分是会话管理 我想: 创建从我的客户端到服务器的SSL(TLS)“隧道” SSL隧道(频道)只有在满足特定要求时才会打开并可用。否则,通道和连接将立即关闭 检查是否满足要求。计划是,客户端向服务器发送一个ID。例如,ID将使用客户端PC ID,用户名,IP地址,时间戳等进行组装。该ID可以用作频道ID和客户端会话ID,以便服务器可以定位/跟踪/识别用户 创建SSL连接时,一旦创建了配置,我将执行handshake()方法。

Netty 4-在vm临时通道中

我希望从当前的Netty 3.x迁移到新的Netty 4.x,但是我没有看到与3.x(org.jboss.Netty.channel.local.LocalAddress)临时地址等效的地址。在新的包结构中有一个等价的类,但是它看起来用于不同的目的,更不用说包私有构造函数了 有人知道如何将3.x临时地址迁移到4.x吗?迁移文档中似乎也没有任何内容 客户端连接: int port = 10000; ClientBootstrap clientBootstrap = new Clie

Netty 关于渠道交通管理器的问题

使用ChannelTrafficShapingHandler时的预期行为是什么?或者使用它和不使用它有什么区别?我在Netty-4.0.21中没有看到它们之间的任何区别。这可能是一个bug?我想说ChannelTrafficShapingHandler从4年起就一直处于实验阶段,我们需要在这方面进行大量的抛光。@相信你是对的,我已经发出了一个拉动请求

在Netty的主要版本之间迁移

我成功地使用了Netty 3.x。我想迁移到Netty的当前稳定版本。4.0.28是Netty当前推荐的稳定发布版本吗?有关于在Netty的主要版本之间迁移的文档吗?目前推荐的主要版本是4.0.27.Final。对于迁移,最好的方法是:

上一页   1   2   3   4   5    6  ... 下一页 最后一页 共 23 页