Use multiple listeners from same host
GerritKuilder opened this issue · 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
- use script: https://github.com/bencevans/node-sonos/blob/master/examples/events.js
- (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 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?
node-sonos/lib/events/adv-listener.js
Line 41 in 995114a
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
Yes, that works perfectly, thanks
Do you have an idea where this should be documented?
I think you should add a note to the example?