2013-02-21 2 views
1

Compound.js (node.js/Express.js에 빌드 됨)를 사용하는 새 프로젝트에 대해 Socket.IO를 테스트하고 있지만 문제. 내가 일하는 기초를 얻을 관리했습니다 다음과 같은 메시지가 잘 작동 :Socket.IO를 사용하여 Compound.js 내의 개체 수 표시

서버 측 JS (ApplicationName을/설정/초기화/socketio.js) : (

var sio = require('socket.io'); 
var http = require('http'); 
var activeClients = 0; 

module.exports = function (compound) { 
    var app = compound.app; 
    var server = http.createServer(app); 
    compound.server = server; 
    var io = compound.io = sio.listen(server); 

    io.sockets.on('connection', function (socket) { 
     activeClients +=1; 

     var connections = setInterval(function() { 
      socket.emit('news', { clients: activeClients }); 
     }, 1000); 

     socket.on('disconnect', function() { 
      activeClients -= 1; 
      io.sockets.emit('user disconnected'); 
      clearInterval(connections); 
     }); 
    }); 
} 

프런트 엔드 JS를 가능 ApplicationName/public/index.html) :

<script src="/socket.io/socket.io.js"></script> 
<script> 
     var socket = io.connect('http://localhost'); 

     function msgReceived(msg){ 
     $clientCounter.html(msg.posts); 
     } 

     $(document).ready(function() { 
     $clientCounter = $("#client_count"); 
     socket.on('news', function (data) { 
      msgReceived(data); 
      socket.emit('my other event', { my: 'data' }); 
      }); 
     }); 
</script> 

내가 지금하려는 것은 서버에서 만들어진 게시물 수를 얻는 것입니다. 나는 포스트 메소드, 컨트롤러 및 뷰를 생성하기 위해 기본 스캐 폴드를 사용했습니다.

이제 총 게시물 수를 찾고 해당 값을 서버 측 JS로 전달하려면 어떻게해야합니까?

답변

0

단순히 서버 측의 발광 횟수를 계산하여 보내주십시오.

... 
    var emits = 0; 
    var connections = setInterval(function() { 
     emits++; 
     socket.emit('news', { clients: activeClients , num_messages: emits}); 
    }, 1000); 

    ... 

아니면이 도움이 될 방법을 잘 모르겠어요 클라이언트

+0

에서 폴링 될 수있는 특정 메시지를 작성합니다. 게시물 모델 (블로그 게시물 생각)이 있고 프런트 엔드에 표시 할 게시물 수를 계산하여 누군가가 새 게시물을 만들면 새로운 게시물 수가 모든 사용자에게 적용되도록합니다. 셀 수있는 계산 방법이 도움이 될지 모르겠습니다. –

+0

당신이 옳습니다. 그러나 코드가 어떻게 든 오도 될 수 있습니다. 이 모든 것은 socket.io와는 아무 상관이 없습니까? 실제로 블로그 게시물을 저장하는 방법을 모른 채로 ... 당신이 확실히 사용하고있는 퍼시스턴스 저장소에서 단순히 그들을 검색하고 단순히 카운트 한 다음이 숫자를 내보내는 방법은 무엇입니까? – robkuz

+0

글쎄, 실제 질문 자체입니다. 마지막 줄, "이제 총 게시물 수를 찾아 서버 측 JS로 전달하는 방법은 무엇입니까?" 양측 모두를 파악할 수는 없으므로 질문을 던집니다. –

관련 문제