public UdpClient(string multicastIp, int port, IJsonProvider json)
{
var ip = IPAddress.Parse(multicastIp);
_endPoint = new IPEndPoint(ip, port);
_udpClient = new System.Net.Sockets.UdpClient(port);
_udpClient.JoinMulticastGroup(ip);
_timer = new Timer(30 * 1000); // 30 seconds
_timer.AutoReset = true;
_timer.Elapsed += Broadcast;
_json = json;
}