socket.bind([port][, address][, callback])
历史
版本 | 变化 |
---|---|
v0.9.1 | 该方法已更改为异步执行模型。需要更改遗留代码以将回调函数传递给方法调用。 |
v0.1.99 | 添加于:v0.1.99 |
参数
port
<integer>address
<string>callback
<Function> 没有参数。绑定完成时调用。
对于 UDP 套接字,导致 dgram.Socket
侦听命名 port
和可选的 address
上的数据报消息。如果 port
未指定或为 0
,则操作系统将尝试绑定到随机端口。如果未指定address
,操作系统将尝试侦听所有地址。绑定完成后,会发出 'listening'
事件并调用可选的 callback
函数。
指定 'listening'
事件侦听器并将 callback
传递给 socket.bind()
方法没有害处,但不是很有用。
绑定的数据报套接字保持 Node.js 进程运行以接收数据报消息。
如果绑定失败,则会生成 'error'
事件。在极少数情况下(例如,尝试与关闭的套接字绑定),可能会抛出
。Error
侦听端口 41234 的 UDP 服务器示例:
import dgram from 'node:dgram'; const server = dgram.createSocket('udp4'); server.on('error', (err) => { console.log(`server error:\n${err.stack}`); server.close(); }); server.on('message', (msg, rinfo) => { console.log(`server got: ${msg} from ${rinfo.address}:${rinfo.port}`); }); server.on('listening', () => { const address = server.address(); console.log(`server listening ${address.address}:${address.port}`); }); server.bind(41234); // Prints: server listening 0.0.0.0:41234
const dgram = require('node:dgram'); const server = dgram.createSocket('udp4'); server.on('error', (err) => { console.log(`server error:\n${err.stack}`); server.close(); }); server.on('message', (msg, rinfo) => { console.log(`server got: ${msg} from ${rinfo.address}:${rinfo.port}`); }); server.on('listening', () => { const address = server.address(); console.log(`server listening ${address.address}:${address.port}`); }); server.bind(41234); // Prints: server listening 0.0.0.0:41234
相关用法
- Node.js dgram.Socket.bind(options[, callback])用法及代码示例
- Node.js dgram.Socket.addMembership(multicastAddress[, multicastInterface])用法及代码示例
- Node.js dgram.Socket.setMulticastInterface(multicastInterface)用法及代码示例
- Node.js dgram.Socket.send(msg[, offset, length][, port][, address][, callback])用法及代码示例
- Node.js dgram.createSocket()用法及代码示例
- Node.js dgram.createSocket(options[, 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.Socket.bind([port][, address][, callback])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。