2011-08-18 2 views
0

express node.js 서버에 Socket.io를 제공하고 있습니다. 익스프레스 서버에 자동으로 메시지를 보내는 요청을 채널에 보낼 수있는 기능을 원합니다.get request를 통해 Socket.IO에게 메시지 보내기

var app = require('express').createServer() 
    , io = require('socket.io').listen(app) 
app.listen(80); 
app.get('/:channel/:message', function (req, res) { 
    //Code to create socket 
    socket.emit("sent from get", {channel:req.params.channel, message:req.params.message}) 
}); 

io.sockets.on('connection', function (socket) { 
    socket.on('sent from get', function (data) { 
    socket.broadcast.to(data.channel).emit('channel message', { message: data.message}); 
    }); 
}); 

어떻게 app.get 블록의 소켓 연결을 만들고 (파괴)하는?

은 (명확하게하기 위해, 나는 특정 객체가 저장 될 때 레일 서버에서 빠른 메시지를 보내려면이를 사용하여 메시지가 각 해당 사용자에 푸시 갖고 싶어.)

답변

1
io.sockets.in(req.params.channel).emit("channel message", {mes:req.params.message}) 

보낼 것이다 요청한 채널의 모든 사용자에게 보내는 메시지.

0
var chat = io.of('/chat').on('connection', function (socket) { 
socket.emit('a message', { that: 'only', '/chat': 'will get' }); 
chat.emit('a message', { everyone: 'in', '/chat': 'will get' }); }); 

다음의 예는 '/ 채팅'

에서 수신 대기 소켓을 정의