Rødt kryds ved billede
Jeg har rodet lidt med et webcam script, som gør at op til 4 personer kan se hinandens webcams. Siden kan ses på http://80.197.67.74/webcamx/(Ja, undskyld - siden virker kun optimalt i IE)
Mit problem er, at når der er 2 eller flere brugere som får vist billederne, bliver der nogle gange vist et rødt kryds når de opdateres. Jeg er ikke helt sikker på hvorfor det røde kryds kommer.
Mit første gæt var at den var gal med cachen af billederne. Jeg vidste godt at hvis du kun bruger stien "cam.jpg", så ved browseren ikke at billedet er blevet opdateret, og henter derfor den sidste gemte version af det billede, derfor havde jeg sat noget javascript på, så stien var noget i retning af "cam.jpg?1091269194453", hvor nummeret er antallet af millisekunder siden 1.1.1970 00:00:00 - som gerne skulle være unikt. Jeg fandt hurtigt ud af at det ikke var problemet.
Mit andet gæt var at billedet simpelthen ikke når at blive hentet, før det skal opdateres igen. Jeg kodede så lidt javascript som tjekkede om billedet var blevet hentet, hvis ikke så skulle den vente med at opdatere, ind til det var, men det hjalp heller ikke.
Mit tredje gæt, og hvor jeg er nu, er at den er gal med selve billedefilen "cam.jpg".
Åbner jeg http://80.197.67.74/cam.jpg i et nyt browservindue, og holder F5 tasten nede, opdaterer den uden problemer. Er der derimod 2 eller flere brugere inde, så kommer den meget ofte med 404 og "siden kan ikke vises" -fejl, når jeg opdaterer http://80.197.67.74/cam.jpg.
Jeg kan kun gætte på at jpg filen åbenbart har problemer med at blive åbnet af mere end én proces - men hvordan hulen fikser man det? Scriptet kører på min egen Apache webserver med PHP 4.3.7, så jeg kan ændre i konfigurationen lige så tosset jeg vil, hvis altså det kan løse det.
