socket.io明晰

1223 ワード

  • io.emitio.sockets.emitは同じで、接続されているすべてのクライアントに送信されます.
  • io.emit('an event sent to all connected clients');
    io.sockets.emit('an event sent to all connected clients');
        io.emit
    
  • 接続内部のsocketは、各接続自体を表します.
  • socket.broadcast.emitは、現在の接続以外の接続のサーバ側と同様にメッセージ
  • を送信する.
  • socket.on socket.emit言うまでもなく

  • 現在の接続にデータを関連付けて格納するsocketは、1つのセッションサイクルにおいて、ほとんどの場合、現在のセッション者のデータを格納して、これらのデータを識別または特定の状況で取得する必要があります.サンプルコード
    var io = require(‘socket.io‘).listen(80);
     
    io.sockets.on(‘connection‘, function (socket) {
      socket.on(‘set nickname‘, function (name) {
        socket.set(‘nickname‘, name, function () {
          socket.emit(‘ready‘);
        });
      });
     
      socket.on(‘msg‘, function () {
        socket.get(‘nickname‘, function (err, name) {
          console.log(‘Chat message by ‘, name);
        });
      });
    });                     。
    

    サービス側がconnectionのイベントを受信すると、socketは接続が確立されたときにブラウザ側から握手メッセージsocketを携帯する.handshakeこれらのブラウザ側の情報が得られると,権限の検証が容易になる.socket.ioはioを同時に提供する.set('authorization', callback);
    メソッドを使用して、各接続に権限制限を行います.http://deadhorse.me/nodejs/2011/12/29/socket.io_induction.html