你怎么在socket.io上找到> 1你所在的命名空间?

时间:2017-02-14 15:52:07

标签: socket.io

所以我想创建一个特殊的命名空间,管理员可以在其中审核每个其他用户。

但是,我找不到获得命名空间的正确方法。

我最接近的是使用=("assign wire_"&N5&" = 4'b"&TEXT(O5, "0000000")&";") 给了我socket.handshake.headers.referer,但我发现它很难看,并且猜测有更好的选择。

1 个答案:

答案 0 :(得分:0)

在服务器端,您可以在socket.nsp.name找到它,在客户端,您可以在socket.nsp找到它。

示例:

server.js:

const express = require('express');
const app = express();
const http = require('http').Server(app);
const io = require('socket.io')(http);

app.use(express.static(__dirname+'/public'));

io.of('/some-namespace').on('connection', function (socket) {
  console.log('a client connected to: ' + socket.nsp.name);
});

http.listen(3000, function(){
  console.log('listening on *:3000');
});

公共/ index.html中

<!doctype html>
<html>
  <head>
    <title>Testing socket.io - custom namespace</title>
  </head>
  <body>
    <h1 id="socketio"> not connected </h1>
    <script src="socket.io/socket.io.js"></script>
    <script>
        var socket = io('/some-namespace');
        socket.on('connect', function() {
           document.getElementById("socketio").innerHTML = "connected to " + 
               socket.nsp;
        });
    </script>
  </body>
</html>