IPEndPoint GetNextEndPoint() { var port = Interlocked.Increment(ref _lastPort); if (port > IPEndPoint.MaxPort) throw new RanOutOfPortsException("Reached MaxPort"); return new IPEndPoint(IPAddress.Any, port); }