【问题标题】:Socket.IO Double ConnectionSocket.IO双连接
【发布时间】:2016-05-27 20:36:33
【问题描述】:

我有一个简单的 node.js 服务器设置了一个 angular.js 前端,我正在尝试实现 Socket.IO,以便我可以在我的页面上实时更新数据,但是我遇到了双 Socket.IO 连接的问题打开和挂起我的页面。

var self = this;

self.app = express();
self.http = http.Server(self.app);

self.config = config;

self.io = require('socket.io')(self.http);

self.io.on('connect', function() {
    console.log('Connected');
});

在我的 angular.js 工厂中,我有

var socket = io.connect();

如果我在 iOS 上的 Safari 或 Chrome 上加载我的页面(很确定它也在 Android 上发生,但我没有可以测试的,当我不在移动设备上时我无法复制)并刷新页面它将正确连接,然后在页面刷新时随机连接,甚至有时在新页面加载时我会在日志中看到它同时连接两次,这导致页面挂在 socket.io 请求上

因为它挂在那个请求上,所以我做的其他请求将被卡住,等待那个请求完成,页面永远不会加载。

【问题讨论】:

    标签: javascript angularjs node.js sockets socket.io


    【解决方案1】:

    我通过在客户端这样做解决了

    var socket = io.connect('http://#{ip}:3000',{reconnection:false});
    

    【讨论】:

      猜你喜欢
      • 2021-01-28
      • 2021-01-05
      • 2023-03-18
      • 2014-02-27
      • 1970-01-01
      • 2016-09-15
      • 2021-08-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多