【发布时间】: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