Node.js 如何在socket.io中获取唯一的客户端ID?

Node.js 如何在socket.io中获取唯一的客户端ID?,node.js,express,socket.io,client-server,Node.js,Express,Socket.io,Client Server,在我的代码“main.js”中,我试图打印客户端的套接字ID。当我将客户端连接到服务器“main.js”时,代码不会在控制台或浏览器中打印任何内容 服务器端代码(main.js): 看起来是个小错误。套接字io服务器事件不是connections(复数),而是connect/connection 以下是一个工作示例: server.js var app = require('express')(); var server = require('http').Server(app); var io

在我的代码“main.js”中,我试图打印客户端的套接字ID。当我将客户端连接到服务器“main.js”时,代码不会在控制台或浏览器中打印任何内容

服务器端代码(main.js):


看起来是个小错误。套接字io服务器事件不是
connections
(复数),而是
connect/connection

以下是一个工作示例:

server.js

var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
var port = 8000;
server.listen(port)

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

io.on('connection',function(socket){
  ID = socket.id;
  console.log('client id - '+ socket.id);     
})
index.html

<!doctype html>  
<html lang="en">  
<head></head>
<body>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.3/socket.io.js"></script>    
    <script>  
        var socket = io.connect('http://localhost:8000');
        socket.on('connect', function(data) {
            console.log('socket connected')
         });
    </script>        
</body>
</html> 

var socket=io.connect('http://localhost:8000');
socket.on('connect',函数(数据){
console.log('套接字已连接')
});

我可以确认这在服务器和客户端上都起作用。

Shiva,你是如何得到下面的答案的?
<!doctype html>  
<html lang="en">  
<head></head>
<body>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.3/socket.io.js"></script>    
    <script>  
        var socket = io.connect('http://localhost:8000');
        socket.on('connect', function(data) {
            console.log('socket connected')
         });
    </script>        
</body>
</html>