在社交网络中应用Socket.io

时间:2016-10-28 04:00:14

标签: angularjs node.js sockets websocket socket.io

我正在构建像facebook twitter这样的社交网络应用程序。在该应用程序中,一个用户拥有许多粉丝。当我提供状态时,我需要应用socket.io然后它只发布在那些仅关注此特定用户的关注者群体上。我已经在我的应用程序中实现了socket.io,但现在它正在处理所有浏览器新闻源,但我想只应用socket跟随我。

我按照以下方式申请套接字, 在客户端,

   socket.emit('load-post', timelinePost);
    socket.on('post-received', function(timelinePosts) {
      $rootScope.timelinePosts = timelinePosts;
    });

服务器,

var io = require('socket.io')(server);

    io.on('connection', function(socket) {
        console.log('new connection made!');
        // Broadcast the post
        socket.on('load-post', function(data) {
            socket.emit('post-received', data);
        });
        socket.on('disconnect', function() {
            console.log('disconnected!');
        });
    });

我想要应用套接字的新闻Feed功能

getNewsFeedServices.getStatusPosts().then(function(successMessage) {
      $rootScope.posts = successMessage.data;
    }, function(errorMessage) {
      console.log(errorMessage);
    });

此功能会加载用户关注者的所有新闻Feed信息并显示所有关注者帖子,然后加载个人帐户持有人。但是我希望在用户发布状态时应用此处套接字,然后只有关注者获得此状态。我怎么能这样做,任何想法?

1 个答案:

答案 0 :(得分:0)

考虑为每个在线人员创建Room,然后将新旧活动套接字(由粉丝拥有)加入该会议室。