socket.bind([port][, address][, callback])
版本历史
| 版本 | 变更 |
|---|---|
| v0.9.1 | 该方法已更改为异步执行模型。需要更改旧代码才能将回调函数传给方法调用。 |
| v0.1.99 | 新增于: v0.1.99 |
-
port<integer> -
address<string> -
callback<Function> 没有参数。当绑定完成时调用。\
callback<Function> with no parameters. Called when binding is complete.
对于 UDP 套接字,使 dgram.Socket 在命名的 port 和可选的 address 上监听数据报消息。如果未指定 port 或 0,则操作系统将尝试绑定到随机端口。如果未指定 address,则操作系统将尝试监听所有地址。一旦绑定完成,则会触发 'listening' 事件并调用可选的 callback 函数。
\For UDP sockets, causes the dgram.Socket to listen for datagram
messages on a named port and optional address. If port is not
specified or is 0, the operating system will attempt to bind to a
random port. If address is not specified, the operating system will
attempt to listen on all addresses. Once binding is complete, a
'listening' event is emitted and the optional callback function is
called.
同时指定 'listening' 事件监听器并将 callback 传给 socket.bind() 方法无害但不是很有用。
\Specifying both a 'listening' event listener and passing a
callback to the socket.bind() method is not harmful but not very
useful.
绑定的数据报套接字使 Node.js 进程保持运行以接收数据报消息。
\A bound datagram socket keeps the Node.js process running to receive datagram messages.
如果绑定失败,则生成 'error' 事件。在极少数情况下(例如,尝试与关闭的套接字绑定),可能会抛出 Error。
\If binding fails, an 'error' event is generated. In rare case (e.g.
attempting to bind with a closed socket), an Error may be thrown.
UDP 服务器监听端口 41234 的示例:
\Example of a UDP server listening on port 41234:
import dgram from 'node:dgram'; const server = dgram.createSocket('udp4'); server.on('error', (err) => { console.error(`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:41234const dgram = require('node:dgram'); const server = dgram.createSocket('udp4'); server.on('error', (err) => { console.error(`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