无法与FireFox中的socket.io(xhr轮询错误)build立连接
我使用的是socket.io 1.4.8和firefox 48.我有一个示例代码,可以在Chrome中正常工作:
// Server var express = require('express'); var app = express(); var fs = require('fs'); var option = { key: fs.readFileSync('key.pem'), cert: fs.readFileSync('cert.pem') }; var https = require('https').createServer(options, app).listen(process.env.PORT || 3000); var io = require('socket.io')(https); io.on('connection', function(socket) { socket.on('login', function(username) { console.log('[login]', username); }; } // Client var socket = io('https://127.0.0.1:3000'); var username = 'test'; socket.emit('login', username);
但是,当我在Firefox中运行,我得到一个Error: xhr poll error.
这是来自客户端的日志:
socket.io-client:url "parse https://127.0.0.1:3000" +0ms socket.io-client "new io instance for https://127.0.0.1:3000" +3ms socket.io-client:manager readyState closed +3ms socket.io-client:manager "opening https://127.0.0.1:3000" +1ms engine.io-client:socket creating transport "polling" +1ms engine.io-client:polling polling +1ms engine.io-client:polling-xhr xhr poll +2ms engine.io-client:polling-xhr "xhr open GET: https://127.0.0.1:3000/socket.io/?EIO=3&transport=polling&t=LTvQYL3" +1ms engine.io-client:polling-xhr xhr data null +1ms engine.io-client:socket setting transport polling +2ms socket.io-client:manager connect attempt will timeout after 8000 +1ms socket.io-client:manager readyState opening +3ms engine.io-client:socket socket error {"type":"TransportError","description":0} +74ms socket.io-client:manager connect_error +1ms socket.io-client:manager cleanup +0ms
我该如何解决这个错误? 谢谢。
对我来说,原因是网站的自签名证书不被Firefox信任。 转到套接字url,您应该显示一个对话框,将不受信任的网站添加到例外。
- Node.js和FireFox的关系
- Selenium-WebDriver如何使用JavaScript和Firefox浏览器突出显示元素
- HTML5video在Firefox上缓慢加载,但在Chrome上非常快
- Socket.IO不能在Windows和Chrome上运行
- 从Angular中的服务器下载文本/ csv内容,而不是在Mozilla FireFox中工作
- 为什么在{{} + 1`在Chrome和Firefox中获得数字1,而在Node.js中使用' 1'?
- 发送RESTClient Firefox POST并在node.js中尝试相同的操作
- CORS无法在Firefox中运行
- AngularJS强制Firefox / Safari下载文件,而不是在浏览器中打开