gpt4 book ai didi

java - 服务器设计,当tomcat监听多个端口时

转载 作者:行者123 更新时间:2023-11-28 23:38:30 24 4
gpt4 key购买 nike

根据 link1 中的说明部分(来自 MarkR)

我觉得,任何服务器都有一个端口,服务器的 listen() 调用被阻塞(比如 tomcat),任何客户端(比如浏览器)都会在该端口上发出 connect() 请求,例如,我假设,tomcat 服务器在下面做(纠正我)

//original/main single process does below

socket();bind();listen(on default port 80);


loop{

accept();

//app layer logic(i.e., Below activity is done on seperate thread from a threadpool in main process)
//reads in all of the HTTP request and converts it into an object called an HttpServletRequest. That object is then passed in to my servlet by Tomcat via a method call.

}

但是根据link2 ,

我看到tomcat可以监听多个端口,那么tomcat服务器是如何设计用于多个/并行listen()调用的呢? tomcat 是否有多个进程,其中 listen() 在不同端口上被阻塞?

最佳答案

Tomcat 为每个 <Connector> 使用一个或多个接受器线程(它绑定(bind)到一个特定的端口,所以是的:Tomcat 有多个“进程”(线程),其中 accept(不是 listen)在每个进程中都被阻塞。

请注意,Tomcat 是完全开源的,因此您可以根据需要查看代码。

关于java - 服务器设计,当tomcat监听多个端口时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22396224/

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