Skip to main content
Socket.prototype.bind - dgram - Node documentation
method Socket.prototype.bind

Usage in Deno

import { Socket } from "node:dgram";
Socket.prototype.bind(
port?: number,
address?: string,
callback?: () => void,
): this

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.

Specifying both a 'listening' event listener and passing a callback to the socket.bind() method is not harmful but not very useful.

A bound datagram socket keeps the Node.js process running to receive datagram messages.

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.

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:41234

Parameters

optional
port: number
optional
address: string
optional
callback: () => void

with no parameters. Called when binding is complete.

Return Type

this
Socket.prototype.bind(
port?: number,
callback?: () => void,
): this

Parameters

optional
port: number
optional
callback: () => void

Return Type

this
Socket.prototype.bind(callback?: () => void): this

Parameters

optional
callback: () => void

Return Type

this
Socket.prototype.bind(
options: BindOptions,
callback?: () => void,
): this

Parameters

options: BindOptions
optional
callback: () => void

Return Type

this