gpt4 book ai didi

java - 网络服务器套接字编程

转载 作者:行者123 更新时间:2023-11-30 07:15:18 26 4
gpt4 key购买 nike

当只有一个进程可以监听和接受给定的 IP 地址和端口组合时,Web 服务器如何扩展才能监听数百万传入请求?这个问题与找出用于扩展的套接字编程大纲有关,因此我不是在寻找硬件扩展解决方案的负载平衡,我也不是在寻找网络套接字实现,而是基本的低级套接字编程。

如果我必须编写一个 Web 服务器来监听传入的 http 请求,那么监听传入请求的线程的设计大纲应该是什么才能使其扩展到数百万个传入请求?

最佳答案

我为自己编写了一个小型聊天服务器(基本上做同样的事情)。

我追求的设计是第一个接受连接的线程(基本上是一个 while 循环,迭代 ServerSocket 上的 accept() > 对象实例)。该线程正在监听 连接。

对于 accept() 返回的每个连接,我启动了一个单独的线程来处理和读取该连接。所有这些线程引用都存储在一个同步的 List 中以供进一步处理,例如稍后关闭连接等。

关于java - 网络服务器套接字编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17908057/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com