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