npm

Join us for the "JavaScript Supply Chain Security" tech talk, presented by VP of Security, Adam Baldwin. 6/20 at 10am PT.Sign up here »

dgram-as-promised

3.0.1 • Public • Published

dgram-as-promised

Build Status Coverage Status npm

This module provides promisified version of standard dgram class. The API is the same as for standard dgram, except bind, close and send methods which return Promise object.

Requirements

This module requires ES6 with Node >= 6.

Installation

npm install dgram-as-promised

Additionally for Typescript:

npm install -D @types/node

Usage

dgram-as-promised can be used similar to standard dgram module.

Example:

const {DgramAsPromised} = require("dgram-as-promised")
 
const socket = DgramAsPromised.createSocket("udp4")
 
const MEMBERSHIP = "224.0.0.1"
const PORT = 41234
 
const message = Buffer.from("ABCDEFGH")

Typescript:

import DgramAsPromised from "dgram-as-promised"
// or
import {DgramAsPromised} from "dgram-as-promised"
 
const socket = DgramAsPromised.createSocket("udp4")

Method bind returns Promise object which resolves to address info when listening event is emitted.

const address = await socket.bind()
console.log(`Socket is listening on ${address.address}:${address.port}`)
 
socket.setBroadcast(true)
socket.setMulticastTTL(128)
 
socket.addMembership(MEMBERSHIP)
console.log("Membership is set")

Method send returns Promise object which is fulfilled when message has been sent.

const bytes = await socket.send(message, 0, message.length, PORT, MEMBERSHIP)
console.log(`Message is sent (${bytes} bytes)`)

Method close returns Promise object which resolves to number of bytes sent when close event is emitted.

await socket.close()
console.log("Socket is closed")

License

Copyright (c) 2016-2019 Piotr Roszatycki mailto:piotr.roszatycki@gmail.com

MIT

Keywords

install

npm i dgram-as-promised

Downloadsweekly downloads

67

version

3.0.1

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability