当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js dgram.Socket.bind([port][, address][, callback])用法及代码示例


socket.bind([port][, address][, callback])

历史
版本变化
v0.9.1

该方法已更改为异步执行模型。需要更改遗留代码以将回调函数传递给方法调用。

v0.1.99

添加于:v0.1.99


参数

对于 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:41234const 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

相关用法


注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 dgram.Socket.bind([port][, address][, callback])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。