Question

Je suis en train de créer un simple serveur proxy pour mon site web. Pourquoi je ne suis pas en utilisant mod_proxy et mod_cache est une autre discussion. Voici le code:

    shell_exec("nohup curl --create-dirs -o {$write_path} {$source_url} > /dev/null 2> /dev/null & echo $!");
    sleep(1);

    $read_speed = 65.5; # 65.5 kb/s download rate
    $handle = fopen($write_path, "rb");

    $content_type = select_meta_item($headers, 'Content-Type');
    $file_size = select_meta_item($headers, 'Content-Length');
    send_headers($content_type, $file_size); 
    flush();

    while (!feof($handle))
    {
        echo fread($handle, round($read_speed * 1024));
        flush();
        sleep(1);
    }

    fclose($handle);

un streaming MP3 ne fonctionne pas en utilisant cette méthode. Joue dans Chrome, mais pas dans Firefox. Dans un premier temps, je vais utiliser cela pour diffuser des fichiers MP3 via le lecteur JW Long Tail. Si tout fonctionne, je vais aussi d'utiliser ce pour envoyer des fichiers ZIP.

Était-ce utile?

La solution 2

Je compris. Le code il fonctionne très bien.

Le fichier a été appelé par APACHE par le gestionnaire 404 (ErrorDocument). Apache envoyé automatiquement l'en-tête 404 avant le script PHP appelée.

Ce fichier (code ci-dessus), ne démarre le processus de frisure et redirige vers un fichier flux. Depuis Apache retourné la 404, Firefox ignoré la réponse MP3. (Alors que Chrome n'a pas). Maintenant que je réoriente, cela fonctionne très bien.

Autres conseils

La question est de savoir si le format de fichier peut être diffusé en continu par la mise en œuvre du client. Si Firefox ne prend pas en charge la lecture d'un mp3 jusqu'à ce qu'il soit fait en cours de téléchargement , aucun montant de fourberies côté serveur vous aidera à atteindre le streaming. Vous aurez besoin d'un soutien côté client, comme un lecteur en ligne à mémoire flash.

Pour les fichiers ZIP, étant donné que la table de codage est placé à la fin de l'archive, aucun logiciel pourra l'ouvrir jusqu'à ce qu'il ait été complètement téléchargé.

Comme une note de côté, avez-vous envisagé de créer un FIFO, pointant curl à l'entrée FIFO, et l'application readfile à la sortie FIFO, laissant ainsi les choses poignée OS?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top