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])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
