npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

udp-reqres

v1.0.4

Published

> easy request response pattern for udp sockets, using nodejs dgram module.

Downloads

3

Readme

udp-reqres

easy request response pattern for udp sockets, using nodejs dgram module.

A nicer interface to the built-in dgram module.

Install

$ npm install --save udp-reqres

Usage

you need to have two node servers, which every server opens a udp socket, define in the bind method. the two servers can be both "client" and "server" in the request resonse pattern.

on your "server" you need to define an event, you do this with the method on, with the name of the event and a function. you do whatever you want and then use the callback to send the payload back to request.

on the "client" you can use the method send with an event name, payload, port and host. this method returns an es6 Promise with the result from the "server".

Example

server
//on the "server"

const udpReqRes = require('udp-reqres');
const udpSocket = require('dgram').createSocket('udp4');
const server = udpReqRes(udpSocket);

server.bind(33335);

server.on('MY_AWESOME_EVENT', (res, cb) => {
  console.log(res.question);
  cb({ answer: 'i\'m fine, thanx !' });
});
client
//on the "client"

const udpReqRes = require('udp-reqres');
const udpSocket = require('dgram').createSocket('udp4');
const server = udpReqRes(udpSocket);

server.bind(33334);

server.send('MY_AWESOME_EVENT', { question: 'how are you ?' }, 33335).then((res) => {
  console.log(`answer: ${res.answer}`);
});

API

server.bind(port, host)

binds the server to port and host, the host is default to localhost

server.on(eventName, fn(req, cb))

register an event, eventName is a string and the function gets a request object and a callback, call the callback to send the message back.

server.send(eventName, payload, port, host)

send an event to a certain host, returns an es6 Promise. eventName is a string and host is default to localhost.

License

MIT