Im using the following code in index.js
io.on(\'connection\', function(socket){
console.log(\'a user connected\');
console.log(socket.id);
});
To get client side socket id for Latest socket.io 2.0 use the code below
let socket = io();
//on connect Event
socket.on('connect', () => {
//get the id from socket
console.log(socket.id);
});
For Socket 2.0.4 users
Client Side
let socket = io.connect('http://localhost:<portNumber>');
console.log(socket.id); // undefined
socket.on('connect', () => {
console.log(socket.id); // an alphanumeric id...
});
Server Side
const io = require('socket.io')().listen(portNumber);
io.on('connection', function(socket){
console.log(socket.id); // same respective alphanumeric id...
}
You should wait for the event connect
before accessing the id
field:
With this parameter, you will access the sessionID
socket.id
Edit with:
Client-side:
var socketConnection = io.connect();
socketConnection.on('connect', function() {
const sessionID = socketConnection.socket.sessionid; //
...
});
Server-side:
io.sockets.on('connect', function(socket) {
const sessionID = socket.id;
...
});
The following code gives socket.id on client side.
<script>
var socket = io();
socket.on('connect', function(){
var id = socket.io.engine.id;
alert(id);
})
</script>