socket.io不能在chrome mobile上运行,但它在隐身模式下运行

时间:2015-11-01 12:52:01

标签: android angularjs node.js sockets google-chrome

我正在使用AngularJS下的nodeJs和socket.io。

套接字在桌面(所有浏览器)上运行良好。但不是在移动设备上。

唉... 有关Chrome移动设备的Socket d'ont工作,期望以隐身模式进行。 这是一些代码:

服务器端:

io.on('connection', function(socket){
    user = {
        id: socket.id,
        socket: socket
    };
    console.log('connection received');
    console.log(user.id);
    socket.emit('files', lib.all());

客户端

socket.on('files', function(data){
    var streams = data;
    if(streams){
        $scope.streams = streams;  
    } 
});

lib.all()函数工作正常。 我有一个角度工厂来处理socket.io(也可以正常工作)。

在Chrome移动插座中没有收到或发出任何东西。但它们在隐身模式下按预期工作。 他们也在firefox for android中工作。

我不是Android专家,也不是Chrome专家。但我怀疑发生了一些特殊/奇怪的事情。防火墙?代理?

有人知道解决方法吗?

谢谢,祝你有个美好的一天!

P.S:在启用了仿真的chrome桌面上,它运行正常。

编辑: 我创立了什么::

Chrome移动版“数据保护程序”选项。是使用谷歌服务器减少数据的人。

套接字可能无法通过谷歌服务器..仍然是一个解决方案可能会很棒。

1 个答案:

答案 0 :(得分:0)

您是否在任何javascript中使用完整性属性?

我的bootnrap.js的CDN出现问题,导致SHA-256不匹配,导致内容被Chrome数据保护程序阻止。

我通过将src="//my.cdn.js更改为src="https://my.cdn.js

来解决此问题