Socket.io 如何使用sails.io握手查询添加自定义数据

Socket.io 如何使用sails.io握手查询添加自定义数据,socket.io,sails.js,socket.io-1.0,sails.io.js,Socket.io,Sails.js,Socket.io 1.0,Sails.io.js,我想在客户端上通过sails.io进行初始连接期间发送一个自定义查询变量。我补充说 io.sails.query = "token=fdbfdsjf"; 在包含了sails.io.js之后,我在服务器上的握手数据中没有看到它,这是: query: { __sails_io_sdk_version: '0.11.0', __sails_io_sdk_platform: 'browser', __sails_io_sdk_language: 'javascript'

我想在客户端上通过sails.io进行初始连接期间发送一个自定义查询变量。我补充说

 io.sails.query = "token=fdbfdsjf"; 
在包含了sails.io.js之后,我在服务器上的握手数据中没有看到它,这是:

query: 
   { __sails_io_sdk_version: '0.11.0',
     __sails_io_sdk_platform: 'browser',
     __sails_io_sdk_language: 'javascript',
     EIO: '3',
     transport: 'polling',
     t: '1432569655670-22' }

在sails.io连接到服务器之前,向客户端的握手添加数据/变量的正确方法是什么

我截获了window.io()函数调用,以将我的查询参数注入options对象的.query属性(第二个参数为.io())


(功能(){
var-io;
Object.defineProperty(窗口'io'{
get:函数get(){
返回io;
},
set:函数集(iofunc){
io=函数(){
var opts=参数[1];
if(typeof opts.query=='string'){
opts.query+='&token=';
}
返回iofunc.apply(这是参数);
};
}
});
})();
<script> 
         (function () {
            var io;

            Object.defineProperty(window, 'io', {
               get: function get() {
                    return io;
               },
               set: function set(iofunc) {
                  io = function(){
                     var opts = arguments[1];
                     if (typeof opts.query === 'string') {
                        opts.query += '&token=<%=_csrf%>';
                     }
                     return iofunc.apply(this, arguments);
                  };
                }
            });
         })();
      </script>

      <!--SCRIPTS-->
      <script src="/js/dependencies/sails.io.js"></script>