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; }
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); }