如何在使用沿着side express的WebSocket服务器中使用perMessageDeflate?

vddsk6oq  于 2023-06-29  发布在  其他
关注(0)|答案(1)|浏览(93)

我有一个WebSocket服务器,我希望在配置中使用perMessageDeflate沿着express
我目前有:

const server = createServer({
  cert: readFileSync('/path/to/cert.pem'),
  key: readFileSync('/path/to/key.pem')
});
const wss = new WebSocketServer({ server });

根据文档,我需要连接到:

const wss = new WebSocketServer({
  port: 8080,
  perMessageDeflate: {
    zlibDeflateOptions: {
      // See zlib defaults.
      chunkSize: 1024,
      memLevel: 7,
      level: 3
    },

然而,我不确定如何将perMessageDeflate对象作为参数添加到new WebSocketServer({ server })
如何在有{ server }的情况下使用它作为参数?

ruyhziif

ruyhziif1#

要将perMessageDeflate选项与WebSocketServer一起使用,同时将server对象作为参数,可以按如下方式修改代码:

const server = createServer({
  cert: readFileSync('/path/to/cert.pem'),
  key: readFileSync('/path/to/key.pem')
});

const wss = new WebSocketServer({
  server,
  perMessageDeflate: {
    zlibDeflateOptions: {
      // See zlib defaults.
      chunkSize: 1024,
      memLevel: 7,
      level: 3
    }
  }
});

在上面的代码中,将server对象和perMessageDeflate配置作为属性传递给WebSocketServer构造函数。
通过提供server对象作为参数,可以确保使用现有的HTTP/S服务器创建WebSocket服务器。perMessageDeflate属性作为传递给WebSocketServer构造函数的配置对象的一部分添加。
这样,您可以在WebSocket服务器设置中使用perMessageDeflate选项,同时仍然使用server对象。
确保在实际代码中根据需要调整端口和其他配置。
我希望这对你有帮助:)

相关问题