先上代码
sockjs.min.js
stomp.min.js
var socket = new SockJS("/endpointWisely");
var stompClient = Stomp.over(socket);
stompClient.connect({},function (frame){
// 监听公共消息
stompClient.subscribe("/topic/greetings",
function (response){
response = JSON.parse(response.body);
console.log(response.data);
});
// 监听个人消息
stompClient.subscribe("/user/{userId}/message",
function (response) {
response = JSON.parse(response.body);
console.log(response.data);
});
// 监听群组消息
stompClient.subscribe("/topic/chat/{chatId}",
function (response) {
response = JSON.parse(response.body);
console.log(response.data);
});});
群组消息订阅方式
- 通过群组 ID 进行订阅
优点:
1.后台无需进行任何处理,便能精准快捷推送至相关用户
缺点:
1.存在多个群时,需要在客户端多次订阅 - 通过公共频道进行推送
优点:
1.存在多个群时也只需进行一次订阅
2.减少连接数,节省服务器资源
缺点:
1.后台需做消息处理判断消息类型及推送对象,影响推送速度
问题
是否存在更好的办法来解决群组消息订阅问题?个人认知有限,希望各位大神可以提出宝贵意见😄
根据讨论结果不定期更新帖子,更新时间:2018 年 01 月 28 日 上午 10:41
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于