有人可以解释一下disableHixie,nodejs websocket库中的clientTrack'ws'意味着:
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
我无法找到结论性的描述。
答案 0 :(得分:14)
Hixie-76是WebSocket支持的旧版和不推荐使用的协议,但该协议仍在某些版本的Safary和Opera中使用。如果 false ,库'ws'中的默认值,但您可以禁用该设置并将 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
}
});
如果您可以立即验证客户端,则第一种形式更简单。 对于异步验证,请使用第二种形式。