加入收藏 | 设为首页 | 会员中心 | 我要投稿 南平站长网 (https://www.0599zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux – 当读取GET请求时,Dancer会随机挂起

发布时间:2021-01-02 06:43:15 所属栏目:Linux 来源:网络整理
导读:我在 Linux上玩perl舞者,如果浏览器直接通过LAN连接到服务器,那么一切都很好.但是,当我通过WAN连接并且浏览器是IE9时,偶尔繁忙的光标不会消失. 我可以通过连续10次重新加载页面apx来激发这一点.即使我在每次重新加载之间等待几秒钟,我也会遇到这个问题.页

我在 Linux上玩perl舞者,如果浏览器直接通过LAN连接到服务器,那么一切都很好.但是,当我通过WAN连接并且浏览器是IE9时,偶尔繁忙的光标不会消失.

我可以通过连续10次重新加载页面apx来激发这一点.即使我在每次重新加载之间等待几秒钟,我也会遇到这个问题.页面本身非常简单,并通过了w3c检查.

如果我以舞者身份运行舞者,或者端口是80还是3000,那也没什么区别.还经常测试使用apache频繁重新加载页面并且似乎没有问题.

我跑过strace,我的印象是,当舞者试图阅读它时,请求数据有时并不可用.这就是跟踪的样子

当它工作时:

{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,0xbfab5070,SEEK_CUR)     = -1 ESPIPE (Illegal seek)
ioctl(4,SEEK_CUR)     = -1 ESPIPE (Illegal seek)
fcntl64(4,F_SETFD,FD_CLOEXEC)         = 0
getpeername(4,{sa_family=AF_INET,[16]) = 0
read(4,"G",1)                         = 1
read(4,"E","T",1)                         = 1

当它挂起

{sa_family=AF_INET,sin_port=htons(52225),

然后它永远地坐着.任何想法我能做什么?

解决方法

我跑到 similar problem,IE9连接到Catalyst dev服务器. Eric Lawrence(IE Team Lead!?)建议可能是由于IE9的后台连接功能. IE9打开后台TCP连接以加速将来对服务器的请求,但这显然会导致单线程服务器出现问题.如果你正在运行Dancer的默认开发服务器(HTTP :: Server :: Simple :: PSGI),you won’t be able to handle IE9.

我通过代理Apache解决了这个问题.它让开发更麻烦,但只有当我必须测试IE9时.

(编辑:南平站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读