我创建了一个由客户端轮询驱动的简单聊天服务器。客户端每隔几秒发送一次数据请求,并收到任何新消息以及有关其对等方是否仍处于连接状态的信息。
由于客户端在移动平台 (iPhone) 上运行,我一直在寻找摆脱轮询的方法,轮询会很快耗尽电池电量。我读过可以无限期地保持 HTTP 连接打开,但还不明白如何在实践中利用这种技术。我还想知道这种连接是否足够稳定,可以在移动环境中使用。
理想的情况是,服务器仅在影响客户端的事件发生时(例如对等点发布消息或离线)才向客户端发送数据。
尝试通过 http 完成此操作是否可取,或者我是否必须通过 tcp 编写自己的协议(protocol)?根据我的需要自定义 xmpp 有多难(我的聊天服务器有一些我必须轻松实现的特殊功能)。
最佳答案
关于http - 如何创建一个不由轮询驱动的聊天服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1173032/