当前位置: 首页 > 面试题库 >

如何限制Go中实现的HTTP Server的连接数?

何建中
2023-03-14
问题内容

我正在尝试在Golang中实现HTTP服务器

我的问题是,我必须在任何特定时间将最大活动连接数限制为20。


问题答案:

如果您不想实现自己的包装器netutil.LimitListenernet.Listener则可以使用该函数来包装:-

connectionCount := 20

l, err := net.Listen("tcp", ":8000")

if err != nil {
    log.Fatalf("Listen: %v", err)
}

defer l.Close()

l = netutil.LimitListener(l, connectionCount)

log.Fatal(http.Serve(l, nil))


 类似资料:
  • 使用带有socket.io的nodejs服务器和客户机,我可以让14K个客户机进行连接。即使在使用集群时也略少。 CPU和RAM都没有耗尽。除了socket.io自己执行的自动ping之外,不会传输任何数据。 如果机器不够强大,我可以理解。但是,我希望服务器无论如何都会随机删除客户端,而不是每次尝试时都保持特定的数量。 编辑:这是在Windows上使用网络Storm,我会在Linux机器上测试,当

  • 我是网络新手,我正在尝试制作一个用于聊天的小型java应用程序。我想要的是ServerSocket接受一个并且只有一个连接。如果第二个Socket尝试连接到ServerSocket,它将引发异常,以便启动套接字的用户知道他无法连接到那个ServerSocket我查看了javadoc并找到了那个构造函数。 创建服务器套接字并将其绑定到指定的本地端口号和指定的积压工作。端口号为0表示自动分配端口号,通

  • 问题内容: 一般来说,是否可以限制可以实现接口的类? 更具体地说,通用接口可以将其实现限制为的后代吗? 上下文是对象应以类型安全的方式强制转换为对象。 在用尽所有其他信息源之后,我已经很强烈地预感这是不可能的,但是如果有人可以证明我不满意,我将感到非常高兴! 问题答案: 如果强制转换的能力不是严格必需的,则可以在界面中添加这样的其他方法就足够了: 如果大多数实现实际上都可以扩展,它们可以简单地作为

  • 问题内容: 这是我的代码: 输出量 为什么和具有相同的地址?在TCP中,我认为为新连接创建了一个新套接字。 问题答案: 这让我困惑了一秒钟,但这是正确的。确实创建了一个新的套接字(具有唯一的本地+远程地址元组)。维基百科的这段引文很好地描述了它: 服务器可以使用相同的本地端口号和本地IP地址创建多个同时建立的TCP套接字,每个套接字都映射到其自己的服务器子进程,并为自己的客户端进程提供服务。由于远

  • 问题内容: 最近,一位通讯员提到了Python 2.6中的新增功能,指出典型的浮点实现本质上是实数的有理近似。出于好奇,我不得不尝试π: 由于Arima,我没有看到更准确的结果使我感到有些惊讶: 例如,此代码: 产生以下输出: 当然,考虑到64位浮点数提供的精度,结果是正确的,但是这使我提出了一个问题:我如何才能找到有关的实现局限性的更多信息?感谢您的指导。 附加链接:Stern-Brocot树和

  • 是否可以使用OkHttpClient限制活动连接的数量?所以,如果达到限制,就不会选择和建立新的连接? 我的应用程序同时启动多个连接。