gpt4 book ai didi

javascript - nodejs ws.Server 的特定选项

转载 作者:搜寻专家 更新时间:2023-10-31 23:28:48 25 4
gpt4 key购买 nike

谁能解释一下 disableHixie,nodejs websocket 库“ws”中的 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

我找不到结论性的描述是什么意思。

最佳答案

Hixie-76 是 WebSocket 支持的旧的且已弃用的协议(protocol),但该协议(protocol)仍在某些版本的 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
}
});

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

关于javascript - nodejs ws.Server 的特定选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18400425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com