java - 在 J2ME 中发起 http 请求

标签 java http java-me httpwebrequest midp

我正在维护一个 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/

相关文章:

windows - Golang : HTTP deployment under Windows

google-maps - 获取缩放和中心以适合谷歌静态 map 中的所有标记

java - 获取父类(super class)字段的值

java - 如何在 JList 中启用拖放

java - Box2D + LibGDX pong,所有主体 "stuck"

javascript - 带有基本身份验证的 Angular 5 http 似乎不起作用

java - 在Java中,我可以做一个谓词,将一个过滤器应用于多个对象吗?

C# - 如何检查用户是否使用 HttpWebRequest 登录到 Web

android - 使用j2me在所有角度旋转 Sprite 图像

java - 如何编写一个聊天程序,就像 gtalk 或 yahoo 一样