根据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()在不同的端口上被阻止?
答案 0 :(得分:0)
Tomcat为每个<Connector>
使用一个或多个接受者线程(绑定到特定端口,所以是的:Tomcat有多个&#34;进程&#34;(线程)其中accept
(不是listen
}被阻止。
请注意,Tomcat是完全开源的,因此您可以根据需要查看代码。