public void TestInit() { if (SoundBoxServer.ActiveServer == null) { //Use UDP method first (faster) List <SoundBoxServer> servers = SoundBoxServer.FindServersUDP(); if (servers.Count > 0) { servers[0].APICode = "12345"; servers[0].ApiCodeRequired = true; SoundBoxServer.SetActiveServer(servers[0]); } else { //Fall back on network scan if UDP failed servers = SoundBoxServer.FindAllServers(); if (servers.Count > 0) { servers[0].APICode = "12345"; SoundBoxServer.SetActiveServer(servers[0]); } else { Assert.Fail("No servers found"); } } } }
private List <SoundBoxServer> FindAllServersInternal(int timeoutMillisecs) { var servers = new List <SoundBoxServer>(); object locker = new object(); CheckConnection(); string[] classes = m_localIpAddress.Split('.'); var subnet = classes[0] + "." + classes[1] + "." + classes[2] + "."; Parallel.For((long)0, 254, (i, loopState) => { try { var checkIp = subnet + i; Debug.WriteLine("Checking server {0} using {1}ms timeout", checkIp, timeoutMillisecs); var result = CheckForServer(checkIp, timeoutMillisecs); if (result.TimedOut) { loopState.Stop(); return; } if (result.Found) { SoundBoxServer server = SoundBoxServer.LoadFromIP(checkIp); if (server != null) { lock (locker) { servers.Add(server); } } } } catch (Exception) { ; // ignore } }); return(servers); }
public void TestFindAllServersUDP() { List <SoundBoxServer> servers = SoundBoxServer.FindServersUDP(); Assert.AreNotEqual(servers.Count, 0); }
public void TestFindAllServers() { List <SoundBoxServer> servers = SoundBoxServer.FindAllServers(); Assert.AreEqual(servers.Count, 1); }