0

基本的なチャット アプリケーションの実装に Node js と socket.io を使用しています。メッセージを書き込むすべてのクライアントは、サーバーに接続されているすべてのクライアントにブロードキャストされます (クロス ブラウザー アプリケーション)。ここで、サーバーに最初にアクセスした1つのクライアントのみがメッセージをすべてに転送できるようにし、他のサブスクライブユーザーはメッセージを受信することしかできません(データを誰にも送信できません)。私の質問は、データをすべてに送信するように要求したときに、サーバー上のクライアントをどのように識別すればよいですか?

これはサーバー側の実装です:

var app = require('express')()
    , server = require('http').createServer(app)
    , io = require('socket.io').listen(server);
server.listen(3000);

app.get('/', function(req, res) 
{
   res.sendfile(__dirname + '/index.html');
});

io.set('log level', 1);

io.sockets.on('connection', function(socket) 
{
    socket.emit('news', "Hello, welcome to our conversation!<br />");
    socket.on('receive', function(data) 
    {
       //log it to console 
       console.log(data.data);
       // announce to all clients that someone sent you data.
   socket.broadcast.emit('news', "Client says: " + data.data + "<br />");
    });
});
4

1 に答える 1