public void SendGw(MsDevice dev, MsMessage msg)
{
if (_udp == null || msg == null)
{
return;
}
byte[] buf = msg.GetBytes();
IPAddress addr;
if (dev == null)
{
addr = IPAddress.Broadcast;
if (_bcIps == null)
{
Log.Error("bcIps == null");
return;
}
foreach (var bc in _bcIps)
{
try {
_udp.Send(buf, buf.Length, new IPEndPoint(bc, 1883));
}
catch (Exception ex) {
if (_pl.verbose)
{
Log.Warning("MsGUdp.SendGw({0}, {1}) - {2}", bc, msg, ex.Message);
}
}
}
}
else if (dev.addr != null && dev.addr.Length == 4)
{
addr = new IPAddress(dev.addr);
try {
_udp.Send(buf, buf.Length, new IPEndPoint(addr, 1883));
}
catch (Exception ex) {
if (_pl.verbose)
{
Log.Warning("MsGUdp.SendGw({0}, {1}) - {2}", addr, msg, ex.Message);
}
}
}
else
{
return;
}
if (_pl.verbose)
{
Log.Debug("s {0}: {1} {2}", addr, BitConverter.ToString(buf), msg.ToString());
}
}