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

时间:2014-03-14 04:37:48

标签: java sockets tomcat jvm

根据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()在不同的端口上被阻止?

1 个答案:

答案 0 :(得分:0)

Tomcat为每个<Connector>使用一个或多个接受者线程(绑定到特定端口,所以是的:Tomcat有多个&#34;进程&#34;(线程)其中accept(不是listen}被阻止。

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