- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我有一个非常简单的类,它扩展了 HttpServlet 类并实现了 doPost 方法。
我在 doPost 方法中有这个:
System.out.println("Remote port:" + httpServletRequest.getRemotePort());
System.out.println("Local port:" + httpServletRequest.getLocalPort());
System.out.println("Server port:" + httpServletRequest.getServerPort());
我打开 Internet Explorer 和 Chrome,并使用这两种浏览器尽可能快地访问这个 Servlet。我得到输出:
Remote port:51773
Local port:8080
Server port:8080
Remote port:51772
Local port:8080
Server port:8080
所以我可以看到 Chrome 和 Internet Explorer 从操作系统获取不同的 TCP 端口。 ( 773 和 772 )但为什么我的应用程序响应来自同一个本地端口的两个请求? TCP 不应该创建不同的端口并从那里响应吗?
同样在 HeadFirst JSP 和 Servlets 书中它说:
"There's a difference, because although the requests are sent to a single port (where the server is listening, the server turns around and finds a different local port for each thread so that the app can handle multiple clients at the same time"
那么为什么都是 8080?
最佳答案
But why is my application responding to both requests from the same Local Port?
因为这就是 TCP 的工作方式。
Should not TCP create different ports and respond from there?
没有。
Also in HeadFirst JSP and Servlets book it says:
"There's a difference, because although the requests are sent to a single port (where the server is listening, the server turns around and finds a different local port for each thread so that the app can handle multiple clients at the same time"
避开这本书的好理由。这是完全错误的。从同一个监听套接字接受的所有套接字共享其本地端口号。服务器根本不会“为每个线程转身并找到不同的本地端口”,这不是必需的,因为“应用程序可以同时处理多个客户端”。这已经由 TCP 保证。
So why both 8080?
见上文。
这是关于 TCP 的一个令人惊讶的普遍误解,但仍然是一个误解。
关于java - 为什么 httpServletRequest.getLocalPort 总是返回与 getServerPort 相同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22892507/
所以我有一个非常简单的类,它扩展了 HttpServlet 类并实现了 doPost 方法。 我在 doPost 方法中有这个: System.out.println("Remote port:" +
我正在研究 servlet,我想出了 getLocalPort() 和 getServerPort() 之间的疑问区别。这里的getLocalPort()是指服务器端,那么getServerPort(
在 Jetty 8.1.17.v20150415 中,我使用 org.eclipse.jetty.server.Connector.getLocalPort() 方法来确定我的 Jetty 正在监听哪
我是一名优秀的程序员,十分优秀!