internal bool Update(string ip, byte pc) { lock (servers) { for (int i = 0; i < servers.Count; ++i) { if (servers[i].IpAddress == ip) { servers[i].Count = pc; servers[i].LastHeartbeat = Fishtank.UnixTime(); return(true); } } } error = "No server with ip address: \"" + ip + "\" exists in the registry"; return(false); }
static void Main(string[] args) { try { var fishtank = new Fishtank(); // register CTRL-C handler Console.CancelKeyPress += new ConsoleCancelEventHandler(Handler); Console.WriteLine("[ready on tcp:28860 udp:28860]"); while (running) { fishtank.Exec(); } fishtank.Close(); Console.Write("\nexiting..."); return; } catch (SocketException e) { if (e.Message.Contains("already in use")) { Console.WriteLine("The kernel is complaining about \"Socket already in use\".\nThis just means to wait a bit, then try again"); } else { Console.WriteLine(e.Message); } Environment.ExitCode = 1; } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); Main(args); } }