我正在尝试使用IJETTY在Android上实现Cometd/Bayeux服务器。码头实施本身可以很好地提供静态页面以及servlet。我正在尝试稍微提高赌注,并在手机上创建Bayeux应用程序,但我遇到了一些麻烦。我可以点击其中包含Dojo Cometd脚本的页面,但我无法订阅该频道。当我查看Firebug/Chome开发人员工具时,我会看到一系列帖子/获得最后几毫秒(〜14)。但是,当我在普通计算机上运行COMETD应用程序时,帖子/延续了几秒钟(〜14秒),然后才能计时并重新打开连接。第二种情况对我来说是有意义的,因为我了解HTTP中的延续如何工作。因此,我认为某些东西不允许这些连接悬挂开放和过早地返回值,从而关闭了连接。我会发布我的消息来源,但我不确定要发布所有内容的内容...(这是开源的,所以如果您想看一下, http://webtext-android.googlecode.com).

因此,我的问题是,有人认为Android系统可能会施加一些潜在的限制,从而阻止这些servlet工作?码头Bayeux实施对基础系统是否有假设?还是我更有可能以某种方式对ContinuationCometdservelt的实施不好?我应该注意,所有帖子/从客户端返回200个消息中获得的所有帖子/都不愿意认为Android系统只是终止了连接。

我知道这有点墙,我肯定会尝试做一些与众不同的事情,但是任何建议或技巧都将不胜感激。

谢谢,

克里斯

有帮助吗?

解决方案

如果任何人都发现这一点并且存在类似的问题(这适用于所有Cometd实现,无论主机如何),我发现问题是使用Google JS库。由于某种原因,我从Google加载的Dojo脚本(1.4)没有Cometd的有效实现。我将Dojo脚本切换到了Jetty-1.6.23示例使用的脚本,它可以很好地工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top