netty相关内容

从LengthFieldBasedFrameDecoder返回的缓冲区太小

我目前正在评估Netty,以处理Java客户端与C ++服务器集成的套接字通信.消息传递协议具有以下结构- (类型)(子类型)(长度)(MessageBody)大小 -长度包括标题. 在Netty api I子类LengthFieldBasedFrameDecoder之后,它接收有效的完整数据包,然后根据接收的类型对 ..
发布时间:2020-05-17 03:07:11 其他开发

Netty高可用性集群

想知道Netty是否提供了有关如何创建高可用性应用程序的任何示例,以便Netty客户端在活动服务器发生故障时可以使用备份服务器. 解决方案 如果要使客户端和服务器高度可用并通过代码轻松管理连接状态,请查看 ..
发布时间:2020-05-17 03:07:03 其他开发

java堆内存管理内存不足

在Linux上运行netty异步服务器和客户机项目时,它将耗尽所有可用的内存,如下所示: 所以我在Windows上运行它,JMC像这样显示堆: 我的问题是:为什么Windows和linux的行为不同,是否可以在某处配置linux jvm以释放堆内存?为什么在Windows(GC)中有堆释放?如何找出占用大量内存的可疑代码? 编辑:linux是4G,windows是8G,但我认为绝 ..
发布时间:2020-05-17 03:06:59 Java开发

Netty ByteToMessageDecoder不能@sharable

我使用MyDecoder扩展了ByteToMessageDecoder来从套接字流获取消息. 它在一个线程中工作正常.但是在更多线程中,网络专家报告说“处理程序应该是可共享的" 但是,我在netty api中搜索,ByteToMessageDecoder不能为@sharable,所以我该如何使用 它在多线程中. 解决方案 在ChannelInitializer中创建一个新实例. ..
发布时间:2020-05-17 03:06:55 其他开发

Netty中的多个处理程序

我想在netty中创建一种日志记录代理.我们的目标是能够使Web浏览器向Netty服务器发出HTTP请求,将其传递到后端Web服务器,还能够基于HTTP特定的事物执行某些操作. 有两个有用的netty示例,即HexDumpProxy(完成代理部分,与协议无关),我从HttpSnoopServerHandler中获取了一些代码. 我的代码现在看起来像这样: 可以在 http://上找到Hex ..
发布时间:2020-05-17 03:06:52 Java开发

Netty 4/5实际上没有检测到bytebuf的资源泄漏吗?

我对Netty 5(或4)中的引用计数bytebuf有一些疑问.我发现当我不释放字节缓冲区超过生命周期时,什么也没发生,看来字节缓冲区所使用的内存可以被适当地GC. 在此链接中 http://netty.io/wiki/reference-counted-objects .html ,它说设置JVM选项'-Dio.netty.leakDetectionLevel = advanced'或调用 ..
发布时间:2020-05-17 03:06:37 其他开发

具有持久连接的NioEventLoopGroup的线程数

我想使用Java Netty为来自客户端的大量持久连接创建一个TCP服务器.换句话说,想象那里有1000个客户端设备,它们全部创建并维护与TCP服务器的持久连接.在这些持久连接中的每一个之间都会有合理数量的流量(主要是文本行)来回往返.如何确定在NioEventLoopGroup的老板和工作组中使用的最佳线程数? 我的理解是,创建连接时,Netty创建一个SimpleChannelInbou ..
发布时间:2020-05-17 03:06:26 Java开发

如何使用Netty处理Http Keep-Alive连接

我正在尝试编写一个使用HTTP保持活动连接的HTTP客户端.当我从ClientBoostrap连接时,我得到了频道.我可以重用它发送多个HTTP请求吗?是否有任何示例演示HTTP Keep Alive功能? 我还有另一个问题.现在,我的客户无需保持连接就可以工作.我在ClientHandler的messageReceived方法中调用channel.close.但是似乎连接没有关闭,一段时间 ..
发布时间:2020-05-17 03:06:16 Java开发

如何提高服务器SSL性能

我已在代理服务器上启用SSL,发现性能已从每秒约17,000个请求降至每秒5k个请求.我按照Netty的安全聊天示例中的代码进行操作,但我认为我所做的任何事情都没有不同. 我写了一个虚拟服务器,看我是否在代理服务器上犯了一些错误.在正常的http模式下运行虚拟SSL服务器每秒可以处理约5万个请求.当我在虚拟服务器上启用SSL时,每秒下降28,000个请求. 我在做错什么吗?有什么我想念 ..
发布时间:2020-05-17 03:05:54 其他开发

与老板组或仅与工人EventLoopGroup一起进行Netty引导

这本书和示例表明,在引导服务器时,我们应该使用所谓的boss组和worker组: serverBootstrap.group(bossGroup, workerGroup); 然后,在基于Netty的Vert.x中,我们有: bootstrap.group(availableWorkers); 这意味着(afaiu)所有工人都将以相同的方式工作,因此没有老板可以只处理传入的联系 ..
发布时间:2020-05-17 03:05:38 其他开发

在Netty上使用SSL证书

我正在尝试使用使用SSL证书的Netty构建一个简单的客户端-服务器应用程序. 我环顾四周,我只能找到安全的聊天示例[您能帮我找出如何在Netty中正确实现SSL证书(自签名)的方法吗? 非常感谢. 解决方案 我建议不要使用自签名证书.这不值得麻烦.您可以从 StartSSL 免费获得签名证书.请查看下面的链接,了解如何将签名证书转换为PKCS12格式,并在SSLContext ..
发布时间:2020-05-17 03:05:32 其他开发

网络频道阅读混乱

3个月前,我开始使用Netty.最初,它看起来非常简单且易于使用,正如我遵循4.x系列主页上给出的示例一样. 随着我对其进行更深入的探索,我无法理解某些事件或回调名称.例如,我无法理解以下两者之间的区别: ChannelRead(ChannelHandleContext ctx, Object msg) { ... } channelRead0(ChannelHandlerConte ..
发布时间:2020-05-17 03:05:21 其他开发

净额和字节顺序

由于文档不佳以及缺乏Netty经验,我几乎没有遇到任何问题. 我不知道如何设置默认的ByteOrder. 默认情况下,我需要设置 Little-Endian . 如果有人能给我一些提示,我会很高兴. 解决方案 您可以使用Bootstrap.setOption()来做到这一点. serverBootstrap.setOption("child.bufferFactory" ..
发布时间:2020-05-17 03:05:13 其他开发

有人可以更好地解释解码器/编码器吗?

修订后的问题: 好,所以我试图将其合并到我自己的定制游戏中.我了解Netty服务器和客户端之间如何连接的过程.我也了解解码器和编码器在理论上是如何工作的.但是,这就是我仍然想了解的内容. 我的服务器进程: Server boots up -> Client starts Client requests connection -> Server accepts Server ins ..
发布时间:2020-05-17 03:05:07 其他开发

如何配置netty logger工厂以查看LoggingHandler的输出?

我正在使用slf4j和logback进行日志记录,并且在我编写的应用程序开始时 InternalLoggerFactory.setDefaultFactory(new Slf4JLoggerFactory()); 然后将新的LoggingHandler(InternalLogLevel.DEBUG)实例添加到管道中. 不幸的是,它仍然没有记录任何内容,我正在调试中,而调试级别是问题所在, ..
发布时间:2020-05-17 03:05:01 其他开发

Netty SSL和websockets

我想以一种方式将SSL配置为websocket,基本上服务器将信息推送到网页,因此我需要对此进行保护.我已按照以下步骤设置了管道: ChannelPipeline pipeline = Channels.pipeline(); SSLEngine engine = serverSslContext.getServerContext().createSSLEngine(); engine.s ..
发布时间:2020-05-17 03:04:59 前端开发