2016-10-28 211 views
0

我建立類似Facebook的Twitter社交網絡應用中的應用Socket.io。在這個應用程序中,一個用戶有很多追隨者。當我給出狀態時,我需要應用socket.io,然後它只發布在追隨者組的追隨者那些誰只遵循這個特定的用戶。我在我的應用程序中實現了socket.io,但現在它正在處理瀏覽器的所有新聞源,但我只想將套接字應用於跟隨我的人。社交網絡

我申請插座下面的方式, 在客戶端,

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!'); 
     }); 
    }); 

新聞源功能,我想申請插座,

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

此功能加載所有用戶的追隨者的新聞饋送信息,並帶出所有的追隨者職位,那麼它的負荷個人賬戶持有人。但是我想在這裏應用套接字當用戶發佈狀態,然後只有追隨者獲得這種狀態。我怎麼能做到這一點,任何想法?

回答

0

考慮每個在線的人創造一個Room,然後再加入新老主動套接字(追隨者擁有的)那個房間。

+0

如果我管理空間的用戶羣那我怎麼才能更新單個用戶帳戶狀態。假設對於10個用戶,我在後端分配了room1,然後在客戶端分配了如何檢測這10個用戶並更新這些用戶的狀態。我只是困惑,我怎麼能在這裏申請房間或命名空間。 –

+0

IF P 2質量和可靠性以下X先生,X自帶那麼當在線創建房間callex roomX。並加入P和Q,然後R在線創建roomR。並且還將R連接到roomX。現在可以從任何時候從服務器發送到roomX。它會達到P Q [R – enRaiser

+0

我用貓鼬查詢填充我下面的用戶。只要我將我的用戶ID傳遞給服務器,然後加載我的下一個用戶。在這種情況下,如何檢測那些以下用戶在這些用戶瀏覽器中單獨應用套接字。 –