我正在维护一个 J2ME 应用程序,我在其中找到了对 http://www.google.com 的 http 请求在应用程序初始化中。我问开发者为什么有请求去google。他说这样应用程序发出的其他请求会更快。
我删除了对 google.com 的这个请求,其他请求变慢了。
谁能解释为什么会这样?如何在不发出先前请求的情况下更快地发出另一个请求?
编辑:
在初始化时向 google 发出请求:
- 第一个请求(初始化后)= 20 秒
- 重复第一个请求 = 5 秒
初始化时不请求:
- 第一个请求 = 40 秒
- 重复第一个请求 = 5 秒
最佳答案
在移动设备上启动网络连接需要一些时间,而且 JVM 通常会在 MIDlet 运行期间保持连接打开(大多数现代连接按字节收费 - Edge、GPRS、WiFi)。因此,如果在 startApp 上建立连接,您可能会发现连接将保持打开状态,所有进一步的通信都不需要打开连接,只需发送数据即可。如此快速且更可靠!
这种行为是特定于平台的,MIDP2 没有规定这是真的(所以诺基亚可能与三星等不同)。
连接到 127.0.0.1 可能不会欺骗 JVM,JVM 可能决定它不需要为此打开 GPRS 连接。同样是特定于平台的。
詹姆斯
关于java - 在 J2ME 中发起 http 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/912131/