题
我正在开发一个聊天应用程序,并且遇到了以下想法。.我应该在服务器上使用“多个”长轮询请求,每个人都处理不同的内容。例如,一个检查消息,一个用于“正在打字”,一个用于管理联系人列表的“在线/离线”等。或者最好通过一个频道处理它?
解决方案
投票将是您最大的带宽/资源猪,因此请将其保持在最低限度。例如,发出适当日期 / if-Modified-Since标题的发行头请求允许缓存明智地工作,服务器仅返回的标题,其中包含最后一个更改的日期和时间 任何 您感兴趣的属性 - 或者可能比这更少的东西;并且只有在返回的标头暗示有新信息的情况下,只会发布全部获取。
其他提示
我的看法是,您会更好地使用一个连接,并来回发送JSON消息,例如:
用户加入:
{"user_add": "st3"}
用户左:
{"user_left": "sneeu"}
收到消息
{"message": "Good morning!", "from": "st3"}
这些可以在数组中一起发送,以便自上次响应以来,用户可以收到所有内容。
不隶属于 StackOverflow