Tag: 移动铬

socket.emit在手机浏览器中无法正常工作(但在隐身模式下工作)

我有一个应用程序使用socket.io,并且socket.emit()不能从移动铬(Android和iOS)上工作。 我可以看到, socket.emit()正在浏览器中执行。 但是我在socket.on()中的服务器端console.log语句没有运行,所以我认为消息没有到达那里。 我在控制台中也看不到任何错误。 有趣的是,一切工作正常,在隐身模式,加上其他移动浏览器,如Safari的所有模式。 任何解决scheme,或帮助debugging将是有益的。 编辑: 客户端代码 $(document).ready(function(){ socket = io(); $(".check").on("submit", function(event){ event.preventDefault(); ga('send','event','evt','evt123'); socket.emit('checkRoom', { rId: "12345", pId: "johndoe"}); }); }); 服务器端代码 io.on('connection', function(socket) { console.log('a user connected'); socket.on('check',function(e){ console.log('Entered check'); socket.emit('check','server message'); }); }); EDIT2: 我手动在客户端指定了socket.io-1.3.5.js文件(而不是使用默认的/socket.io/socket.io.js )并开始在控制台中看到这个错误: WebSocket connection to 'ws://mydomain.com/socket.io/?EIO=3&transport=websocket&sid=wr8UpsT45lrWHtpMACJs' failed: Error in connection establishment: net::ERR_CONNECTION_TIMED_OUT