【发布时间】:2013-04-11 11:44:05
【问题描述】:
我正在尝试使用 OS
我下载了示例服务器/客户端代码。我在我的设备上部署了客户端代码,在提供的 tomcat 上部署了低级示例代码。
为了记录,当我在这里注册推送通知时,我使用 BIS 选项注册。现在我实际上得到了一个黑莓,我被告知它正在使用 BES(我不认为这是我要描述的问题的根源..)。
在设备上,在示例应用程序中,我输入了收到的电子邮件中给出的所有正确设置。
运行tomcat服务器的电脑和手机都连接到同一个wifi。
我正在尝试从设备浏览器连接到服务器,例如https://196.84.32.112:8443/low-level-sample
并且浏览器正常打开页面,这意味着我可以从手机连接到我的服务器。
现在,当我从设备示例应用程序中点击注册时(我在设置中尝试了 BIS/BES 选项),我总是收到以下错误:
注册请求失败。由 java.io.IOException 引起:网络操作 [订阅] 失败。确保 Content Provider URL 可访问。
在日志中我得到:
打开网址:我的服务器网址附加了用户名/密码/型号/连接类型等信息
内容提供者网络命令 [订阅] 失败,原因是无法连接到 196.84.32.112:8443
命令“注册”失败并出现错误:java.io.IOException:网络操作[订阅]失败。确保 Content Provider URL 可访问。
一个想法是我应该再次注册新的按键并使用 BIS/BES 选项而不是仅 BIS,但这里的问题似乎是与本地服务器没有连接,而不是 RIM 服务器。我已经尝试注册了,我正在等待新设置的邮件。
我也对 BIS / BES 选项感到困惑。我不知道我的用户是否会启用 BIS 或 BES,那么我应该在我的代码中添加什么?!在示例应用程序中,它要求我在 BIS 或 BES 之间进行选择,但是当应用程序要投入生产时,我需要以编程方式做出选择,我会选择什么?!或者此选择仅用于应用程序的评估/开发,并且在生产中还有另一台服务器?
【问题讨论】:
-
这看起来像是网络问题。您的服务器可能需要一个公共 IP,以便 RIM(现在是 BlackBerry)服务器可以从 Internet 访问它。如果您已经有,请检查防火墙等。首先尝试使用 BIS 设备。
-
史密斯先生是对的。从客户端到您的服务器进行注册的联系路径是 BB -> ROC -> Server。所以你的服务器需要有一个公共IP。如果 BB 在 BES 上,您可以使用 BES 服务器进行推送,在这种情况下,BES 服务器会替换 ROC,实际上这样做要简单得多。然而,使用 BIS 推送更加灵活。
-
我在 BES 服务器上没有任何权限。我刚刚得到了一个带有 BES 的设备。好的,我将尝试使服务器可公开访问,但如果可以的话,仍然需要澄清一下。在示例应用程序中,它询问我是 BES 还是 BIS。我是 BES,但最终用户显然是 BIS,我必须在生产版本中以编程方式选择什么?现在我是 BES,我应该要求 BIS/BES 的新密钥还是我拥有的 BIS 就足够了?为什么我在某处读到当我是 BES 时我不需要这些凭据?
-
在客户端应用程序中。它要求使用企业(BES)网络或使用公共(BIS)网络,您必须选择。如果您选择 BIS,则需要指定 BPS 服务器,如果您使用 BES,则不需要指定。所以我们在这里说同样的话
-
我很确定推送发起服务器应该可以从 Internet 访问,即使它没有多大意义。至于 BB,如果是 BES 设备,则应正确配置为通过 BIS 浏览(服务手册、运营商计划等)。顺便说一句,这个问题可能已经澄清了here。
标签: blackberry push-notification