我创建了一个由客户端轮询驱动的简单聊天服务器。客户端每隔几秒发送一次数据请求,并获取任何新消息以及关于对方是否仍然连接的信息。如何创建不是由轮询驱动的聊天服务器?
由于客户端运行在移动平台(iPhone)上,我一直在寻找摆脱轮询的方式,这会迅速耗尽电池电量。我已经读过,可以无限期地打开http连接,但还没有理解如何在实践中使用这种技术。我也想知道这样的连接是否足够稳定以便在移动设置中使用。
理想的情况是服务器只在发生影响它们的事件(例如对等方发布消息或离线)时才向客户端发送数据。
建议尝试通过http完成此操作,还是必须通过tcp编写自己的协议?定制xmpp到我的需求有多困难(我的聊天服务器有一些我必须轻松实现的特殊功能)。
http://stackoverflow.com/questions/337985/comet-server-push-to-client-on-iphone – 2009-07-23 16:54:04
是的,这是我的想法,并与罗素L链接的讨论也是非常有用的。谢谢。 – Felixyz 2009-07-23 17:12:43