Я ищу наиболее консервативный способ передачи некоторых данных с сервера клиенту при инициализации сокета.
На стороне клиента:
var connectionData = {
someKey: Math.random(),
otherKey: 'abc'
}
socket = io(socketAddress, {query:connectionData});
socket.on('connect', function() {
console.log('Socket established, id =', socket.id);
// Use some data from the connection response
});
Вна стороне сервера:
var io = socket(server);
io.on('connection', function(socket) {
console.log('Connection established, id=', socket.id);
console.log('Init data', socket.request._query);
// Do something to return some data in the response.
});
Я знаю, что могу сделать socket.emit()
на стороне сервера прямо в обработчике события 'connection', но мне не нравится тот факт, что соединение наклиентская сторона должна ждать дополнительного события для инициализации сеанса.Есть ли способ передать некоторые данные, когда соединение установлено?