Node.js快速服务器返回套接字错误,寻找正确的参数

我正在尝试使用服务器quic使用节点版本v8.4.0:git clone https://github.com/toajs/quic.git

没有关于如何使用代码的例子或说明。 这里是我的代码保存在“test.js”试图调用服务器:

// server var s = require('./server'); var t = new s.Server(); t.listen(3000, 'localhost'); 

这是尝试执行的输出:

$ node test.js(node:14446)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝标识:1):错误[ERR_SOCKET_BAD_TYPE]:指定了错误的套接字types。 有效的types是:udp4,udp6(node:14446)[DEP0018]弃用警告:不处理的承诺拒绝已被弃用。 将来,未处理的承诺拒绝将使用非零退出代码来终止Node.js进程。

这里是我试图使用的server.js文件(从git仓库):

 'use strict' // **Github:** https://github.com/toajs/quic // // **License:** MIT const { createSocket } = require('dgram') const EventEmitter = require('events') const { lookup } = require('./common') // Event: 'listening' // Event: 'connection' class Server extends EventEmitter { constructor () { super() this._udp = null this.localFamily = '' this.localAddress = '' this.localPort = 0 this.listening = false this.conns = new Map() } address () { return {port: this.localPort, family: this.localFamily, address: this.localAddress} } async listen (port, address) { if (this._udp) throw new Error('Server listening') let type = 'upd4' if (address) { let addr = await lookup(address || 'localhost') if (addr.family === 6) type = 'upd6' } this._udp = createSocket(type) this._udp .on('error', (err) => this.emit('error', err)) .on('close', () => this._onclose()) .on('message', (msg, rinfo) => this._onmessage(msg, rinfo)) let res = new Promise((resolve, reject) => { this._udp.once('listening', () => { this._udp.removeListener('error', reject) let addr = this._udp.address() this.localFamily = addr.family this.localAddress = addr.address this.localPort = addr.port this.emit('listening') resolve() }) this._udp.once('error', reject) }) // Can't support cluster this._udp.bind({port: port, address: address, exclusive: true}) return res } _onmessage (msg, rinfo) {} _onclose () {} close () {} getConnections () { return Promise.resolve(this.conns.size) } ref () {} unref () {} } exports.Server = Server 

显然,我必须设置构造函数套接字系列,如udp4和其他可能的参数,但我不知道如何使用服务器构造函数来做到这一点。 我一直在阅读关于Node.js的构造函数,但到目前为止还没有确定正确的方法。 有关Node.js中的套接字使用的教程不会转移到这种types的代码。 如果任何人都可以指出我正确的方向,无论是parameter passing,或一个quic服务器教程,我真的很感激它。