我对node.js&socket.io,但我已经构建了一个websocket端点,可以将简单的数据推送到前端。
示例:{
name : "Bob",
eyes : "green",
score : 100,
fav : "true"
}
使用node.js/ssocket.io已经足够简单了(太简单了!!),但我的问题是:
在将数据推送到客户端之前,是否有方法对其进行筛选和/或排序?我意识到我可以在浏览器中使用JS来做到这一点,但如果我有600人被推送,而最终用户只想要有"绿色"眼睛的人,那么把550个没有绿色眼睛的用户推到浏览器上,只是为了把他们去掉,这似乎是一种浪费。
经过大量的研究和实践,我得出结论,实现这一目标的最佳方法是为每个过滤点设置套接字"通道"。以我最初的帖子为例,我会为绿色、蓝色、棕色(等)眼睛创建一个频道,然后根据用户的需求为他们订阅该频道。然后将在客户端进行筛选,以确保列表/网格中没有重复显示。