我正在使用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移动版“数据保护程序”选项。是使用谷歌服务器减少数据的人。
套接字可能无法通过谷歌服务器..仍然是一个解决方案可能会很棒。
答案 0 :(得分:0)
您是否在任何javascript中使用完整性属性?
我的bootnrap.js的CDN出现问题,导致SHA-256不匹配,导致内容被Chrome数据保护程序阻止。
我通过将src="//my.cdn.js
更改为src="https://my.cdn.js