为什么 socket.io 在同一台电脑上使用两个不同的浏览器不起作用(我无法连接或页面仍在等待)



我的测试简单代码是:index.html

<script src="http://localhost:2020/socket.io/socket.io.js"></script>
<script>
 socket = io('http://localhost:2020'/*,{secure: true}*/);
</script>

注意:我删除了安全的真实。

app.js nodejs

var express = require('express'),
    app = express(),
    server = require('http').createServer(app),
    io = require('socket.io').listen(server),
    path = require("path");
app.use(express.static(__dirname + '/public'));
app.set('view engine', 'ejs');
app.set('views', path.join(__dirname, 'views'));
server.listen(2020);
 console.log("localhost:2020");
io.on('connection', function(socket) {
    console.log("in");
    socket.on('disconnect',function(data){
        console.log("out");
    });
});

如果我在不同浏览器上打开一个新页面(新连接),请使用nodejs在套接字服务器上测试简单连接时不要打开页面,也不要调用socket.io服务器,但是当我在Chrome上打开一个新标签时,新连接正常工作..

注意:客户页面未托管在socket.io服务器上,因为它托管在Apache Server上的客户页。

p1-我在chome中打开index.html=页面正常运行,插座连接正确

p2-我在一个新的chrome选项卡中打开index.html=页面运行相同的正常并连接。

p3- i在隐身铬中打开index.html或在Opera上打开(其他浏览器)=插座未连接,并且页面被阻塞

p4-i do(刷新)我在Chrome(P2)中打开的插座,即,我刷新了新的Chrome Tab。插座服务器仍被阻塞,甚至连连接。

p5- i刷新(p1)的页面:=所有内容都是解锁的,并且主页上的所有页面都被阻止,现在被封锁了,正常连接到插座

如果index.html托管在nodejs之外nodejs外部。

安全选项适用于HTTPS连接,您正在尝试连接到HTTP。尝试删除安全选项。

相关内容

最新更新