This is a
playground to test code. It runs a full
Node.js environment and already has all of
npm’s 400,000 packages pre-installed, including
node-upnp-subscription with all
npm packages installed. Try it out:
This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.
Library to manage subscriptions, renewals and unsubscription of UPNP subscriptions.
npm install node-upnp-subscription
var Subscription = require('node-upnp-subscription'); var host = '192.168.1.122'; var port = 55178; var infoSubUri = '/Ds/Info/event'; var infoSub = new Subscription(host, port, infoSubUri); infoSub.on('message', console.log); setTimeout(infoSub.unsubscribe, 12000);
On construction, a local HTTP server will begin to listen on a random port and a subscribe request will be made to the Upnp device advertising this address and a resubscribe timer is set. The timeout value is replaced with the value returned in the subcription response which may differ to your requested resubscribe timeout. A resubscription timer is set to resubscribe after a successful subscription attempt. When a response is received, the subscription Id
sid is returned in an event.
The resubscribe timer will cause a subscribe attempt to be resent to keep the Upnp subscription alive. If this is successful, a timer is set to resubscribe.
On unsubscribe, the resubscribe timer will be cancelled and the listening HTTP server closed. An unsubscribe request will be made to the Upnp device, if this fails an event is emitted with the reason.
subscribed- Will return the
error- Will return the error object which occured during subscribe attempt.
resubscribed- Will return the
error:resubscribe- Will return both the
sidof the subscription and the HTTP error object.
unsubscribed- Will return the now defunct
error:unsubscribe- Will return the HTTP error object.