code: function Socket (options) {
      this.$ipaddress = ip.address();
  
      this.$port = options.port;
      this.$host = options.host || '224.1.1.1';
      this.$ttl = options.ttl || 128;
      this.$dispatcher = options.dispatcher;
  
      //
      // The native socket implementation.
      // Will be filled on opening the socket.
      //
      this.$impl = null;
  }
docs: Wrapper around the socket implementation of Node.js with some
  proxy functionality for incoming messages.
  
  @param {object} options
  A configuration object Should have the following structure:
  
  `port`: The respective port on which the multicast socket should be opened.
  `host`: The multicast ip address (optional; default: `224.1.1.1`).
  `dispatcher`: A function which will be executed on every request.
  Params that will be passed to this dispatcher:
  - `{Buffer} message` - the raw request string
  - `{object} rinfo` - client connection details
  `ttl`: The number of IP hops that a packet is allowed to go through (optional; default: 128).