Je suis un débutant en Perl CGI, etc. J'expérimente le concept de serveur-poussoir avec un morceau de code Perl. Il est censé envoyer une image jpeg au client toutes les trois secondes.Comment puis-je envoyer plusieurs images dans un serveur en appuyant sur le programme Perl CGI?
Malheureusement, rien ne semble fonctionner. Quelqu'un peut-il aider à identifier le problème?
Voici le code:
use strict;
# turn off io buffering
$|=1;
print "Content-type: multipart/x-mixed-replace;";
print "boundary=magicalboundarystring\n\n";
print "--magicalboundarystring\n";
#list the jpg images
my(@file_list) = glob "*.jpg";
my($file) = "";
foreach $file(@file_list)
{
open FILE,">", $file or die "Cannot open file $file: $!";
print "Content-type: image/jpeg\n\n";
while (<FILE>)
{
print "$_";
}
close FILE;
print "\n--magicalboundarystring\n";
sleep 3;
next;
}
EDIT: ajout désactiver i/o mise en mémoire tampon, ajoutée "use strict" et "@file_list", "$ fichier" sont faits locaux
Première utilisation stricte et les avertissements. Suivant: Toute erreur que vous pouvez voir ?, En outre, vous ouvrez le fichier $ pour lire ou écrire? – Space
@Octopus Aucune erreur dans le fichier journal ni dans le navigateur, juste que l'image n'est pas affichée. La boucle semble fonctionner correctement. Le fichier $ est ouvert pour lecture. – Jujjuru
C'est pourquoi j'ai suggéré d'utiliser strict et avertissements :). – Space