public void RegisterAsForeignDevice(String BBMD_IP, short TTL, int Port = 0xbac0)
{
if (!(m_client is BacnetIpUdpProtocolTransport))
{
Trace.TraceWarning("Wrong Transport : IP only");
return;
}
try
{
System.Net.IPEndPoint ep = new Net.IPEndPoint(Net.IPAddress.Parse(BBMD_IP), Port);
EncodeBuffer b = GetEncodeBuffer(m_client.HeaderLength);
(m_client as BacnetIpUdpProtocolTransport).Bvlc.Encode(b.buffer, 0, BacnetBvlcFunctions.BVLC_REGISTER_FOREIGN_DEVICE, 6);
b.buffer[4] = (byte)((TTL & 0xFF00) >> 8);
b.buffer[5] = (byte)(TTL & 0xFF);
Trace.WriteLine("Sending Register as a Foreign Device ... ", null);
(m_client as BacnetIpUdpProtocolTransport).Send(b.buffer, 6, ep);
}
catch (Exception ex)
{
Trace.TraceError("Error on RegisterAsForeignDevice" + ex.Message);
}
}