3

有人可以解释一下nodejs websocket库'ws'中的disableHixie,clientTracking是什么意思:

new ws.Server([options], [callback])

options Object
host String
port Number
server http.Server
verifyClient Function
path String
noServer Boolean
disableHixie Boolean
clientTracking Boolean
callback Function

我找不到确切的描述它的含义。

4

1 回答 1

15

Hixie-76 是 WebSocket 支持的旧且已弃用的协议,但该协议仍在某些版本的 Safari 和 Opera 中使用。库 'ws' 中的默认值为false,但您可以禁用该设置并将disableHixie选项设置为true

clientTracking选项提供对活动 WebSocket 客户端集合的访问默认值为true。见下文:

var wss = new WebSocketServer({server:app });

wss.on('connection', function (ws) {
   .....
   console.log('Total clients: ', wss.clients.length);
   ....
}

编辑:附加信息:

verifyClient函数允许您添加任何自定义代码来接受或拒绝传入连接。您的代码收到一个info包含三个成员的对象:

  • info.origin:连接的起源
  • info.secure:如果此连接被授权或加密,则为真
  • info.req:此连接的http.Server请求对象

verifyClient函数可以采用以下两种形式之一:

var wss1 = new WebSocketServer ({ ..., 
   verifyClient: function(info) {
      # ...check data in info and return true or false...
   }
);

var wss2 = new WebSocketServer ({ ..., 
   verifyClient: function(info, callback){
      # ...check data in info and call
      # callback(true) for success or
      # callback(false) for failure 
   }
});

如果您可以立即验证客户端,则第一种形式会更简单。对于异步验证,请使用第二种形式。

于 2013-10-03T09:31:41.463 回答