我正在寻找一种最保守的方法,即在初始化套接字时将一些数据从服务器传递到slient。
在客户端:
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()
,但是我不喜欢这样的事实,即客户端的连接必须等待额外的事件初始化会话。建立连接后,是否可以传递一些数据?