當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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