Ich spiele mit Perl-Tänzer auf Linux und alles ist nett und dany, wenn der Browser verbindet sich mit dem Server direkt über LAN. Jedoch, wenn ich über WAN und verbinden, ist der Browser IE9, dann gelegentlich der beschäftigte Cursor wird nicht weggehen.Tänzer hängt zufällig beim Lesen GET Anfrage
Ich kann das provozieren, indem ich die Seite 10 Mal hintereinander neu lade. Ich bekomme dieses Problem auch, wenn ich mehrere Sekunden zwischen jedem Nachladen warte. Die Seite selbst ist furchtbar einfach und besteht den W3C-Check.
Es macht keinen Unterschied, ob ich Tänzer als root betreibe, oder ob der Port 80 oder 3000 ist. Auch getestet häufiges Nachladen einer Seite mit Apache und es scheint kein Problem zu sein.
Ich lief strace und ich habe den Eindruck, dass die Anfragedaten manchmal nicht verfügbar sind, wenn die Tänzerin versucht, es zu lesen. Dies ist, was die Spur sieht aus wie
Wenn es funktioniert:
{sa_family=AF_INET, sin_port=htons(52073), sin_addr=inet_addr("78.42.213.92")}, [16]) = 4
ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfab5028) = -1 ENOTTY (Inappropriate ioctl for device)
_llseek(4, 0, 0xbfab5070, SEEK_CUR) = -1 ESPIPE (Illegal seek)
ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfab5028) = -1 ENOTTY (Inappropriate ioctl for device)
_llseek(4, 0, 0xbfab5070, SEEK_CUR) = -1 ESPIPE (Illegal seek)
fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
getpeername(4, {sa_family=AF_INET, sin_port=htons(52073), sin_addr=inet_addr("78.42.213.92")}, [16]) = 0
read(4, "G", 1) = 1
read(4, "E", 1) = 1
read(4, "T", 1) = 1
Wenn es
{sa_family=AF_INET, sin_port=htons(52225), sin_addr=inet_addr("78.42.213.92")}, [16]) = 4
ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfab5028) = -1 ENOTTY (Inappropriate ioctl for device)
_llseek(4, 0, 0xbfab5070, SEEK_CUR) = -1 ESPIPE (Illegal seek)
ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfab5028) = -1 ENOTTY (Inappropriate ioctl for device)
_llseek(4, 0, 0xbfab5070, SEEK_CUR) = -1 ESPIPE (Illegal seek)
fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
getpeername(4, {sa_family=AF_INET, sin_port=htons(52225), sin_addr=inet_addr("78.42.213.92")}, [16]) = 0
read(4,
hängt und dann sitzt sie für immer. Irgendeine Idee, was ich tun kann?
Ich habe auch gesehen IE9 Hold-Sperren auf Dancer unter Plack mit HTTP :: Server :: Simple ausgeführt. Meine vorläufige Lösung bestand darin, Firefox zu verwenden, und meine langfristige Lösung bestand darin, irgendwann einen höheren Webserver mit Plack zu verwenden. Dancer bietet Dokumentation zur Konfiguration für verschiedene Webserver wie nginx - ähnlich wie die Lösung von @wes. –
@wes Ich setze Tänzer hinter Apache und alles scheint in Ordnung zu sein. Vielen Dank –