node.js - Socket IO 使用长轮询而不是套接字

标签 node.js websocket socket.io

我刚刚重新开始使用 Node 和 Socket IO。我正在使用socket.io v1.3.7。 我可以加载套接字 IO 客户端,但它是长轮询而不是使用套接字。

我上次使用 socketIO 时效果很好。我认为那是 0.9.x 分支。

http://sockettest.dev:3000/socket.io/?EIO=3&transport=polling&t=1447350154198-2&sid=eW7B_kpSat6WfGQSAAAC

这是代码..

服务器 - app.js

var server = require('http').createServer();
var io = require('socket.io')(server);
io.on('connection', function(socket) {
    socket.emit('connection', 'connected');

    socket.on('disconnect', function() {
        socket.emit('disconnection', 'not connected');
    });
});
server.listen(3000);

客户端-index.php

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="//recently.dev:3000/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('<?php echo '//' . $_SERVER['HTTP_HOST'] . ':3000/'; ?>');
socket.on('connection', function(data){
    console.log(data);
});
</script>
</head> 
<body>
</body>
</html>

最佳答案

我想这就是原因..

Why is my socket.io using long polling instead of the websocket?

我认为旧的方法在我看来更好。至少应该有一个选择。

关于node.js - Socket IO 使用长轮询而不是套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33677961/

相关文章:

javascript - 如何在自适应卡中捕获按钮文本(针对用户按下的按钮)

java - Jetty Websocket 服务器在本地工作,但远程连接失败并出现 "Host is down"错误,如何解决?

Python Websocket - 具有时间和消息限制

http - 如何使用 Socket.io 获取请求的 HTTP header ?

node.js - 使用 node.js/socket.io 构建实时大型多人游戏有多昂贵?

java - 在 nodejs 中获取 socket.io 选项的查询

javascript - console.log 或 utils.inspect 的隐藏属性

javascript - 在 Sails 中使用多个 unirest 请求

Jmeter 的 WebSocket 插件

node.js - 为什么我在 Redis 中需要超过 1 个连接,聊天应用程序需要多少内存?