我和一个朋友正在与Google桌面浏览器和Android客户端进行聊天,并以Google App Engine作为服务器进行回合制游戏。Google App Engine,Java和HTTP性能
我们使用Java API for GAE并使用HTTP与服务器进行通信。我们已经实现了简单的聊天功能,并且我们在浏览器和Android客户端上收到了不期望的延迟1-3秒,同时发布了简单的单词聊天消息。
我的朋友认为最好使用XMPP代替HTTP,但我们希望使用Google帐户cookie进行Android客户端的身份验证,并且根据GAE文档,XMPP客户端无法使用Google帐户Cookie,必须使用用户的密码。
有没有人有任何关于延迟可能来自何处,如何排除故障和/或如何处理它的建议?
此外,是否有人知道在Java中完成GAE的聊天(或类似的)的任何开源实现?似乎无法找到任何。
你是如何处理与客户通信的服务器的?我的意思是。当A向B写信息时,客户B如何知道有消息?轮询?如果是这种情况,延迟会很高,所以我建议研究一下“彗星”。一种实现“服务器推送”的方式:服务器将客户端写入所需的准确时间。实现它的方式是通过HTTP。客户端连接到服务器并等待响应,但服务器必须准备好。同时连接1.000个客户端(并等待远距离响应)对于正常的HTTP请求是不可接受的。这是一项工作4comet。 – helios 2010-01-07 15:46:31
helios,关于如何在应用引擎上做彗星的任何提示?我觉得这是不可能的。 – 2010-01-07 22:54:34
我希望找到一种方法来做到这一点。看来,目前没有办法与Comet做到这一点。如果您有任何运气,请发帖 – Hortinstein 2010-03-03 17:13:55