import { Socket } from "https://dotland.deno.dev/std@0.177.0/node/dgram.ts";
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 '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