From fa643bd7bbc7654ef81146a7f2333c74a8a0fda7 Mon Sep 17 00:00:00 2001 From: Huan Vu Date: Mon, 6 Mar 2017 23:17:10 -0800 Subject: [PATCH] Catch and emit error on socket.addMembership (throws error on no network connection) so that library doesn't crash (#34) --- index.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 8d9a448..7980249 100644 --- a/index.js +++ b/index.js @@ -49,7 +49,11 @@ module.exports = function (opts) { socket.on('listening', function () { if (!port) port = me.port = socket.address().port if (opts.multicast !== false) { - socket.addMembership(ip, opts.interface) + try { + socket.addMembership(ip, opts.interface) + } catch (err) { + that.emit('error', err) + } socket.setMulticastTTL(opts.ttl || 255) socket.setMulticastLoopback(opts.loopback !== false) }