我正在开发一个聊天应用程序,我遇到了以下想法。我是否应该对我的服务器使用“多个”长轮询请求,每个请求处理不同的事情。例如,一个用于检查消息,一个用于“正在键入”,一个用于管理联系人列表“是在线/离线”等。或者,通过一个渠道处理所有这些事情会更好?
发布于 2010-12-06 23:03:47
轮询将是您最大的带宽/资源占用,所以请将其控制在最小;例如,使用适当的date / if -modified- keep标头发出HEAD请求,以允许缓存合理地工作,服务器只返回包含对您感兴趣的任何属性的最后更改的日期和时间的标头-或者甚至更少的内容;并且仅在返回的标头暗示有新信息时才发出完整的GET。
发布于 2010-12-06 23:03:49
我的观点是,您最好使用一个连接,并来回发送JSON消息,例如:
用户已加入:
{"user_add": "st3"}
用户左侧:
{"user_left": "sneeu"}
收到的消息
{"message": "Good morning!", "from": "st3"}
这些可以在一个数组中一起发送,这样用户就可以接收到自上次响应以来的所有内容。
https://stackoverflow.com/questions/4367670
复制相似问题