node-sonos icon indicating copy to clipboard operation
node-sonos copied to clipboard

Use multiple listeners from same host

Open GerritKuilder opened this issue 4 years ago • 5 comments

Don't know if this is related to Sonos or the code

Expected Behavior

Have an app running on 192.168.12.100 this app listens on sonos events and does what it is expected to do.

Create another app srunning on the same host and try to listen to the sonos device

Start the listener so you can respond to events

Current Behavior

when the second app is started the following error is generated: Listen for sonos events. CTRL + C to exit node:events:371 throw er; // Unhandled 'error' event ^

Error: listen EADDRINUSE: address already in use :::4000 at Server.setupListenHandle [as _listen2] (node:net:1319:16) at listenInCluster (node:net:1367:12) at Server.listen (node:net:1454:7) at SonosListener.startListener (/home/gerrit/workspace/code/dev/betterspotv2/node_modules/sonos/lib/events/adv-listener.js:67:25)

Possible Solution

Sample code or executed example

  1. use script: https://github.com/bencevans/node-sonos/blob/master/examples/events.js
  2. (replace '../' with 'sonos' 4.have one sonos listener already running 5 run script 6 error message

Versions (and Environment)

Node version: latest node-sonos version: latest OS: UBUNTU

GerritKuilder avatar Sep 27 '21 10:09 GerritKuilder

@GerritKuilder I must admit that this isn't documented anywhere, but you can set the environment variable SONOS_LISTENER_PORT to change the port that is used for the listener.

My I ask what the use case is for running multiple apps listening for events on the same host?

https://github.com/bencevans/node-sonos/blob/995114a01dccfe76f9cd771c229e8f07c7369fb3/lib/events/adv-listener.js#L41

svrooij avatar Sep 29 '21 19:09 svrooij

Hi,

I have a dev version and a prod version running on the same server.... Will try and check later today. Kind regards,

Gerrit Kuilder

GerritKuilder avatar Sep 30 '21 07:09 GerritKuilder

Yes, that works perfectly, thanks

GerritKuilder avatar Sep 30 '21 10:09 GerritKuilder

Do you have an idea where this should be documented?

svrooij avatar Sep 30 '21 18:09 svrooij

I think you should add a note to the example?

GerritKuilder avatar Oct 05 '21 06:10 GerritKuilder