当前位置: 首页 > 知识库问答 >
问题:

Netty http在第二次读取时保持活动超时

范华清
2023-03-14

我正在使用netty编写一个网络游戏服务器,并打算使用keep alive来提高性能<如果我为boss和worker executor使用CachedThreadPool,那么服务器对于保持活动和非保持活动连接都可以正常工作<但是如果我使用FixedThreadPool(1),一个用于boss,一个用于worker,第一个响应会发送给客户端,但如果浏览器使用该连接发送第二个html" target="_blank">请求,它将被阻止并在服务器超时,我关闭该连接,firefox打开新的套接字,该套接字在第一个响应时也可以正常工作。(我已经将连接保持活动和ContentLength包含在响应头中,并用httpAnalyzer工具仔细检查它。那么有人能告诉我为什么会发生这种情况,以及在网络游戏服务器上使用带有netty的线程的最佳做法是什么。如果netty是异步的,那么不应该发生这种情况,对吗?

共有1个答案

海新霁
2023-03-14

您应该始终使用CachedThreadPool,并使用NioSocketChannelFactory的构造函数来限制使用的线程。我认为它也记录在javadocs中。

 类似资料:
  • 所以HTTP。1版本及以上版本支持持久性连接。 现在,我们正在创建一个Rest应用程序,它应该是无状态的。我们一次限制连接的数量。 但如果我仔细阅读HTTP1.0文档,这种方法似乎有问题。 它说服务器将保持连接打开,除非客户端说关闭。 所以,我的问题是如果客户端没有关闭怎么办?如果连接始终处于活动状态,它可能会给我拒绝服务错误。 什么是jetty的默认超时,我如何配置它?我无法找到合适的留档。

  • 我对Spring Boot cassandra web应用程序有问题。随着数据的增长,它开始出现,现在它是一个非常常见的场景。 所有查询有时都不起作用,返回。几秒钟后它又开始工作了,几秒钟后它就不工作了。所以web应用程序不断返回或响应。相同的查询始终在中工作。 我正在使用: Spring启动启动程序 sping-boo-starter-data-cassandra#2.1.3 Cassandra

  • 如果用户通过cmd输入以下数字:< code>2 -13 4 12 -1 113 19,则输出应为: 但我得到的是这个: 即该对中的第二个数字再次重复自己作为下一对中的第一个数字。代码有什么问题?

  • 如能提供任何指导,不胜感激。 有问题的元素是“English_SendCallToAgent”

  • 我需要知道如何读取(同步或异步不重要)与超时。我想检查一个设备是否与串行端口连接。 为此,我使用,然后等待设备的响应。 如果连接了设备工作正常,但如果没有设备,程序就会停止,这就是我需要超时的原因

  • 问题内容: 这是一个基于客户端/服务器的简单ping / pong程序。不幸的是,IT无法正常工作并显示以下错误消息: 它停止在CLIENT TASK 30行,实际上,客户端不读取服务器已发送的内容。这里的代码: 服务器 服务器任务 客户 客户任务 问题答案: 问题出在循环内部的使用与从连接另一端处理套接字的方式之间的交互。 仅当从其读取的流结束时才返回-1,这在本质上将意味着套接字已关闭。在关闭