Задать вопрос

Два процесса слушают один порт, как такое возможно?

Windows 8.1 Профессиональная
Запущен и работает tomcat (7.0.72.0 JVM 1.7.0_13-b20) на порту 8080
Запустил HelloWorld-пример на jetty
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.IOException;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.handler.AbstractHandler;

public class WebServer extends AbstractHandler {
	
	public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response)
			throws IOException, ServletException {
		response.setContentType("text/html;charset=utf-8");
		response.setStatus(HttpServletResponse.SC_OK);
		baseRequest.setHandled(true);
		response.getWriter().println("<h1>Hello World</h1>");
	}

	public static void main(String[] args) throws Exception {
		Server server = new Server(8080);
		server.setHandler(new WebServer());

		server.start();
		server.join();
	}
}

Ожидал увидеть Exception (т.к. порт 8080 уже занят), но приложение запустилось нормально:

2017-02-01 12:21:02.029:INFO::main: Logging initialized @132ms
2017-02-01 12:21:02.075:INFO:oejs.Server:main: jetty-9.2.20.v20161216
2017-02-01 12:21:02.116:INFO:oejs.ServerConnector:main: Started ServerConnector@2b6dd9c5{HTTP/1.1}{0.0.0.0:8080}
2017-02-01 12:21:02.117:INFO:oejs.Server:main: Started @222ms



D:\>netstat -ano|find /i "8080"
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 5536
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 2464
TCP [::]:8080 [::]:0 LISTENING 5536


D:\>tasklist|find /i "tom"
tomcat7.exe 2464 Services 0 185 916 КБ
D:\>tasklist|find /i "java"
javaw.exe 5536 Console 1 26 864 КБ
  • Вопрос задан
  • 883 просмотра
Подписаться 3 Оценить 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы