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])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。