解决 vue 项目一直出现 sockjs-node/info?t=1554978**** ,并造成浏览器不能及时更新编码改动结果

首先 sockjs-node 是一个JavaScript库,提供跨浏览器 JavaScript 的 API,创建了一个低延迟、全双工的浏览器和web服务器之间通信通道。

服务端:sockjs-node(https://github.com/sockjs/sockjs-node)
客户端:sockjs-clien(https://github.com/sockjs/sockjs-client)

我今天是在 Linux 下使用 Webstorm 写 Vue 项目遇到的该问题。现在已经找了问题真正的根源(至少是在我的环境是这样的),首先 sockjs-node 确实是维持全双工通信用的,关键在于为什么要有这个东西,其实其作用就是保证我们在改完代码重新编译之后,能够通知浏览器重新加载变更结果(我也是因为之前都可以改完代码之后浏览器可以及时刷新显示效果,但是今天却不能正常工作,其原因就在于该请求一直失败)。

所以剩下的就是排查问题,我看了这个请求的 IP 地址,使用的外部地址(如上图),此时想到因为我打开了 ShadowSockets ,并且排除规则里面只有本地地址,没有外部地址,所以该请求应该是走了代理,而我的外部地址并非公网 IP【10.19.245.12 只是局域网IP 】,所以代理之后的请求一定会得不到响应而失败。为了验证自己的猜测,使用 wireshark 抓包确认一下:

从上图可以看到,确实该请求被本地提供代理服务的 Shadowsocket 代理了。

既然找到原因,那我就将我的外部地址添加到代理忽略列表中就可以解决该问题【PS:由于每个人使用的代理软件可能存在差异,具体如何操作自己根据自己的情况百度即可】。此时该请求就变得正常了,同时浏览器也可以实时更新我的编码改动结果。

学以致用,勤动脑筋,记录此次有意思的折腾。

  • 37
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值