dgram.createSocket(options[, callback])
历史
版本 | 变化 |
---|---|
v15.8.0 | 添加了AbortSignal 支持。 |
v11.4.0 | 支持 |
v8.7.0 | 现在支持 |
v8.6.0 | 支持 |
v0.11.13 | 添加于:v0.11.13 |
参数
options
<Object>可用选项有:type
<string> 套接字家族。必须是'udp4'
或'udp6'
。必需的。reuseAddr
<boolean> Whentrue
socket.bind()
false
。ipv6Only
<boolean> 将ipv6Only
设置为true
将禁用 dual-stack 支持,即绑定到地址::
不会使0.0.0.0
被绑定。 默认:false
。recvBufferSize
<number> 设置SO_RCVBUF
套接字值。sendBufferSize
<number> 设置SO_SNDBUF
套接字值。lookup
<Function> 自定义查找函数。 默认:dns.lookup()
signal
<AbortSignal> AbortSignal 可用于关闭套接字。
callback
<Function> 作为'message'
事件的侦听器附加。可选的。- 返回: <dgram.Socket>
创建一个dgram.Socket
对象。创建套接字后,调用
将指示套接字开始侦听数据报消息。当 socket.bind()
address
和 port
未传递给
时,该方法会将套接字绑定到随机端口上的 "all interfaces" 地址(它对 socket.bind()
udp4
和 udp6
套接字都做了正确的事情)。可以使用
和 socket.address().address
检索绑定的地址和端口。socket.address().port
如果启用了signal
选项,则在相应的AbortController
上调用.abort()
类似于在套接字上调用.close()
:
const controller = new AbortController();
const { signal } = controller;
const server = dgram.createSocket({ type: 'udp4', signal });
server.on('message', (msg, rinfo) => {
console.log(`server got: ${msg} from ${rinfo.address}:${rinfo.port}`);
});
// Later, when you want to close the server.
controller.abort();
相关用法
- Node.js dgram.createSocket()用法及代码示例
- Node.js dgram.Socket.addMembership(multicastAddress[, multicastInterface])用法及代码示例
- Node.js dgram.Socket.bind(options[, callback])用法及代码示例
- Node.js dgram.Socket.setMulticastInterface(multicastInterface)用法及代码示例
- Node.js dgram.Socket.send(msg[, offset, length][, port][, address][, callback])用法及代码示例
- Node.js dgram.Socket.bind([port][, address][, callback])用法及代码示例
- Node.js diffieHellman.getGenerator()用法及代码示例
- Node.js diffieHellman.setPrivateKey()用法及代码示例
- Node.js dns.resolveNs()用法及代码示例
- Node.js dnsPromises.lookup()用法及代码示例
- Node.js dns.resolveCname()用法及代码示例
- Node.js diagnostics_channel.hasSubscribers(name)用法及代码示例
- Node.js dns.resolveSrv(hostname, callback)用法及代码示例
- Node.js diagnostics_channel.channel(name)用法及代码示例
- Node.js dnsPromises.resolveMx()用法及代码示例
- Node.js dnsPromises.resolveTxt()用法及代码示例
- Node.js dnsPromises.resolve()用法及代码示例
- Node.js diffieHellman.getPrime()用法及代码示例
- Node.js dnsPromises.resolveAny(hostname)用法及代码示例
- Node.js dnsPromises.resolve6()用法及代码示例
- Node.js dnsPromises.resolveSrv(hostname)用法及代码示例
- Node.js dns.resolveSoa()用法及代码示例
- Node.js dnsPromises.resolveSoa(hostname)用法及代码示例
- Node.js dns.resolve()用法及代码示例
- Node.js dns.resolveSoa(hostname, callback)用法及代码示例
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 dgram.createSocket(options[, callback])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。