我正在编写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);
});
对我来说这看起来很奇怪,我在谷歌上找不到关于这个搜索的任何文档!
答案 0 :(得分:0)
这是正确的预期行为。
第一个包是一个连接包。
看起来您正在同时从两个不同的浏览器(或两个不同的标签)进行连接。 t=
参数是一个唯一的数字来打破任何缓存。
每个sid的第一个POST
是连接。以下GET
只是轮询,而POST
是pong
数据包,表示连接仍然有效。
如果将套接字升级到websockets,它将一直停止访问网络服务器。