【发布时间】:2010-11-13 11:14:31
【问题描述】:
我创建了一个由客户端轮询驱动的简单聊天服务器。客户端每隔几秒钟发送一次数据请求,并收到任何新消息以及有关其对等方是否仍处于连接状态的信息。
由于客户端在移动平台 (iPhone) 上运行,我一直在寻找摆脱轮询的方法,因为轮询会很快耗尽电池电量。我已经读过可以无限期地保持 http 连接打开,但还没有理解如何在实践中使用这种技术。我也想知道这样的连接是否足够稳定,可以在移动环境中使用。
理想的情况是服务器仅在发生影响客户端的事件(例如,对等方发布消息或离线)时才向客户端发送数据。
是否建议尝试通过 http 完成此操作,或者我必须通过 tcp 编写自己的协议?根据我的需要定制 xmpp 有多难(我的聊天服务器有一些我必须轻松实现的特殊功能)。
【问题讨论】:
标签: http networking chat xmpp instant-messaging