public override void Restart()
{
Stop();
Remotes.Clear();
ConnectRemotes(Odd);
try
{
foreach (Binding b in Settings.Bindings)
{
for (int i = 0; i < b.Interfaces.Length; i++)
{
try
{
IPAddress ip;
if (!IPAddress.TryParse(b.Interfaces[i], out ip))
{
Console.WriteLine("Skipping invalid interface: {0}", b.Interfaces[i]);
continue;
}
ListenerInfo listener = new ListenerInfo(new TcpListener(ip, b.Port), b);
Bind(listener, false);
Listeners.Add(listener);
}
catch (Exception ex)
{
Console.WriteLine("Error binding to interface: {0}", ex.Message);
}
}
}
}
catch (Exception ex)
{
Console.WriteLine("Unable to read bindings from settings. Cannot receive incoming connections! ({0})", ex.Message);
}
}