我正在开发一个聊天应用程序,并且遇到了以下想法。.我应该在服务器上使用“多个”长轮询请求,每个人都处理不同的内容。例如,一个检查消息,一个用于“正在打字”,一个用于管理联系人列表的“在线/离线”等。或者最好通过一个频道处理它?

有帮助吗?

解决方案

投票将是您最大的带宽/资源猪,因此请将其保持在最低限度。例如,发出适当日期 / if-Modified-Since标题的发行头请求允许缓存明智地工作,服务器仅返回的标题,其中包含最后一个更改的日期和时间 任何 您感兴趣的属性 - 或者可能比这更少的东西;并且只有在返回的标头暗示有新信息的情况下,只会发布全部获取。

其他提示

我的看法是,您会更好地使用一个连接,并来回发送JSON消息,例如:

用户加入:

{"user_add": "st3"}

用户左:

{"user_left": "sneeu"}

收到消息

{"message": "Good morning!", "from": "st3"}

这些可以在数组中一起发送,以便自上次响应以来,用户可以收到所有内容。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top