Example #1
0
        private void routerSelect_Click(object sender, EventArgs e)
        {
            RdmRouter newRouter = CreateRouter();

            //Change Transpaort
            if (!(Transport is RdmRouter))
            {
                StopTransport();
                Transport = newRouter;
                StartTransport();
            }

            rdmNetSelect.Checked = false;
            artNetSelect.Checked = false;
            routerSelect.Checked = true;
        }
Example #2
0
        private RdmRouter CreateRouter()
        {
            RdmRouter newRouter = new RdmRouter();

            int priority = 0;

            foreach (NetworkInterface adapter in NetworkInterface.GetAllNetworkInterfaces())
            {
                if (adapter.SupportsMulticast)
                {
                    IPInterfaceProperties ipProperties = adapter.GetIPProperties();

                    for (int n = 0; n < ipProperties.UnicastAddresses.Count; n++)
                    {
                        if (ipProperties.UnicastAddresses[n].Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
                        {
                            CardInfo card = new CardInfo(adapter, n);
                            if (card.SubnetMask != null)
                            {
                                RdmNet rdmNetTransport = new RdmNet();
                                rdmNetTransport.LocalAdapter = card.IpAddress;
                                rdmNetTransport.SubnetMask   = card.SubnetMask;
                                newRouter.RegisterTransport(rdmNetTransport, "RdmNet: " + card.ToString(), string.Empty, priority);
                                priority++;

                                ArtNet artNettransport = new ArtNet();
                                artNettransport.LocalAdapter = card.IpAddress;
                                artNettransport.SubnetMask   = card.SubnetMask;
                                newRouter.RegisterTransport(artNettransport, "ArtNet: " + card.ToString(), string.Empty, priority);
                                priority++;
                            }
                        }
                    }
                }
            }

            return(newRouter);
        }