【问题标题】:Socket.io sending lots of request on start upSocket.io 在启动时发送大量请求
【发布时间】:2016-06-08 11:25:19
【问题描述】:

我正在编写一个 Node.js 应用程序,因为我需要将数据流式传输到浏览器,所以我包含了 Socket.io 库。一旦启动,我就会在控制台中收到所有这些请求,这是正确的吗?

GET http://192.168.8.115:1337/socket.io/?EIO=3&transport=polling&t=LCP0qc- 200 OK 1ms   
GET http://192.168.8.115:1337/socket.io/?EIO=3&transport=polling&t=LCP0qd4 200 OK 5ms   
POST http://192.168.8.115:1337/socket.io/?EIO=3&transport=polling&t=LCP0qdf&sid=kRNcDo8LvANa39H3AAAC 200 OK 1ms 
GET http://192.168.8.115:1337/socket.io/?EIO=3&transport=polling&t=LCP0qdn&sid=kRNcDo8LvANa39H3AAAC 200 OK 1ms  
POST http://192.168.8.115:1337/socket.io/?EIO=3&transport=polling&t=LCP0qe4&sid=EYk1kgtAKZ-ju0IqAAAD 200 OK 1ms
GET http://192.168.8.115:1337/socket.io/?EIO=3&transport=polling&t=LCP0qeA&sid=EYk1kgtAKZ-ju0IqAAAD 200 OK 1ms  
GET http://192.168.8.115:1337/socket.io/?EIO=3&transport=polling&t=LCP0qeo&sid=kRNcDo8LvANa39H3AAAC 200 OK 130ms    
GET http://192.168.8.115:1337/socket.io/?EIO=3&transport=polling&t=LCP0qfD&sid=EYk1kgtAKZ-ju0IqAAAD 200 OK 128ms

我正在通过此代码请求 EJS 模板:

app.get('/', function(req, res) {
    res.render(__dirname + '/views/index');
});

这就是我开始Socket.io 连接的方式:

var socket = io.connect('/'+ip);
socket.on('update', function(data) {
    $('#dateTime').html(data.time);
});

对我来说这看起来很奇怪,我在 google 上没有找到任何关于此搜索的文档!

【问题讨论】:

    标签: node.js socket.io request ejs


    【解决方案1】:

    这是正确且符合预期的行为。

    第一个包是一个连接包。

    您似乎同时从两个不同的浏览器(或两个不同的选项卡)进行连接。 t= 参数是打破任何缓存的唯一编号。

    每个 sid 的第一个 POST 是连接。以下GET 只是轮询,而POSTpong 数据包,表示连接仍然​​有效。

    如果您将套接字升级到 websocket,它会一直停止访问网络服务器。

    【讨论】:

    • 嗯...奇怪的是我从 2 台电脑连接,但我从每台机器(1 个浏览器,1 个选项卡)启动一个连接。如果我现在尝试不对代码进行任何更改,我将收到 3 个获取请求和 1 个帖子,所以有些不同。这就是为什么我说这是一种奇怪的行为。我会试试这个 websocket 的东西...你能推荐任何关于它的特定文档吗?
    • socket.io 将自动升级到 websockets,如果它在你的网络上是可能的。会不会是您初始化为 socket.io 实例,并通过两个连接访问您的服务器?
    • 这怎么可能?我的代码都在问题中,每台电脑只有 1 个浏览器指向服务器的那个页面......
    • 浏览器后台运行的东西?浏览器中的错误?浏览器加载旧版本的文件?除非我坐在你的电脑前,否则很难说。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-29
    • 2017-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多