protected override void Discover() { var localIP = UdpClient.GetLocalIPAddress(); var localEndpoint = new IPEndPoint(IPAddress.Parse(localIP), 3672); DISCOVER_REQUEST[8] = localEndpoint.Address.GetAddressBytes()[0]; DISCOVER_REQUEST[9] = localEndpoint.Address.GetAddressBytes()[1]; DISCOVER_REQUEST[10] = localEndpoint.Address.GetAddressBytes()[2]; DISCOVER_REQUEST[11] = localEndpoint.Address.GetAddressBytes()[3]; DISCOVER_REQUEST[12] = (byte)(localEndpoint.Port >> 8); DISCOVER_REQUEST[13] = (byte)localEndpoint.Port; var udpClient = new UdpClient(); udpClient.BindSocket(localEndpoint.Port.ToString()); udpClient.DataReceived += SocketDataReceived; Task.Run(async() => { await udpClient.Send(new HostName("224.0.23.12"), "3671", DISCOVER_REQUEST); await Task.Delay(5000); udpClient.DataReceived -= SocketDataReceived; udpClient.Dispose(); }); }
public KnxNetTunnelingConnection() { var localIP = UdpClient.GetLocalIPAddress(); _localEndpoint = new IPEndPoint(IPAddress.Parse(localIP), 3671); }