- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建在 Java HttpServer 类上运行的服务器,一切正常,但我注意到调用 exchange.getRemoteAddress().getAddress().getCanonicalHostName()
需要大约 4000 毫秒,但是即使我删除 getRemoteAddress(),读取请求正文也很快。有谁知道为什么 HttpExchange.getRemoteAddress() 需要这么长时间?从服务器登录:
[pool-1-thread-1 | 13:25:54] Received request from 192.168.0.104 / Obtaining remote address took 4538 ms
[pool-1-thread-1 | 13:25:54] Downloading request body from 192.168.0.104 took 0 ms
[pool-1-thread-1 | 13:25:54] Generating response body from 192.168.0.104 took 6 ms
[pool-1-thread-1 | 13:25:54] Processing lock request from 192.168.0.104
当 exchange.getRemoteAddress().getAddress().getCanonicalHostName()
被替换为硬编码字符串(“test”)时记录:
[pool-1-thread-1 | 13:28:00] Received request from test / Obtaining remote address took 0 ms
[pool-1-thread-1 | 13:28:00] Downloading request body from test took 1 ms
[pool-1-thread-1 | 13:28:00] Generating response body from test took 7 ms
[pool-1-thread-1 | 13:28:00] Processing lock request from test
编辑:我的失败是没有正确阅读 getCanonicalHostName()
文档。上面写得很清楚
Gets the fully qualified domain name for this IP address. Best effort method, meaning we may not be able to return the FQDN depending on the underlying system configuration.
替换为getHostAddress()
最佳答案
这是因为查找给定 IP 地址的主机名通常涉及 reverse DNS lookup ,即网络查询(或一系列查询),这是一项昂贵的操作,并且自然比使用硬编码字符串值慢得多。
关于java - HttpExchange.getRemoteAddress() 需要很长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55810190/
我正在创建在 Java HttpServer 类上运行的服务器,一切正常,但我注意到调用 exchange.getRemoteAddress().getAddress().getCanonicalHo
我正在使用LittleProxy它实现了 Netty 。我正在尝试返回 HTTP 请求源的 IP 地址和端口。我使用getRemoteAddress方法,但返回的端口总是不同。似乎每次请求后都会累加?
我想了解如何获取正在访问我的网页的客户端的 IP 地址。JSP页面内容: "); out.print( request.getRemoteHost() ); %> 输出: 0:0:0:0:0:0:0:
我有一个 Controller @RestController public class NameController { @Autowired private NameService
我是一名优秀的程序员,十分优秀!