我有一个MVC C#网页。我使用NodeJs express模块进行实时聊天功能。
实时聊天很有效,但我是NodeJs的新手。
在我的聊天页面中,用户可以添加他们喜欢聊天的用户的收藏列表。我想要做的是在收藏夹列表中的每个用户旁边放置一个绿色或红色点,以便他们可以看到谁在线。
即使没有Node JS,跟踪每个用户的在线状态也是相当直接的。我可以在页面中的每个操作上进行简单的ajax调用,以更新用户上次活动。如果活动时间少于10分钟,我的网站将在线考虑。
但是,当我希望在聊天页面中实时向用户显示该状态时,问题就出现了。每个用户的列表中可能有20-30个用户。所以ajax每分钟左右轮询一次,听起来有点乱了? (200个用户每分钟轮询一次服务器,询问其他30个用户的状态)
在这种情况下最好使用什么逻辑?