添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

在很多应用场景中,客户端发起连接请求时都需要传递参数,这些参数可能是身份验证、初始化设置等等,那么 socket.io 发起连接时如何传递参数呢?

var socket = io.connect('/');

由于 connect 函数发起连接的参数是一个url,你可能会想到把参数拼接到url上,如 http://xxxx?xx=xxxx ,但是很遗憾这样是行不通的,我们可以通过这样的方式来传递参数:

var socket = io.connect('/',{ _query:'sid=123456' });

在服务端可以这样获取到传递的参数:

io.use(function(socket){
     var query = socket.request._query;
     var sid = query.sid; 

客户端传递的参数已经被解析成了一个json对象,这个对象就是_ query

客户端发起连接时传入sid参数,当sid等于123456时才允许连接到服务器。