Node.js Core -Best Javascript Runtime

Node.js 是非常优秀的 Javascript Runtime,NodejsCore介绍 Node.js 框架、应用程序和服务器端的开发问题

Learn more

AngularJS:socket.io破坏套接字

我正在使用一个节点的socket.io服务器和一个基于angular度的socket.io客户端(使用angular-socket.io ),除了在一个特定的条件下,它运作良好:我不知道如何彻底销毁sockets当套接字无法连接时,用它完成。 工作stream程是这样的:在一个给定的页面上有一个button来打开一个模式,模式的打开将sockets工厂注入到模块控制器中,并且连接到socket.io服务器。 这一切都很好,当套接字可以连接。 当模式closures时,调用$ scope.destroy并且模态控制器中的处理程序试图清理套接字。 这种模式可以closures和重新打开多次,或只有一次。 我多次创build/销毁套接字的过程可能是我的问题的一部分,这可能不是正确的范例,但是当模式被closures时,将无法与其交互,并且在页面离开之后套接字当然不会不需要存在或保持连接。 套接字创build: angular.module('app.common.newSocketFactory', ['btford.socket-io']) .factory('newSocketFactory', ['socketFactory', function(socketFactory){ return function(){ return socketFactory({ioSocket:io.connect('http://localhost:3000', {forceNew: true})}); }; }]); 注射: angular.module('…', [ 'app.common.newSocketFactory', …. ]) .controller('Controller', ['$scope', '$modalInstance', 'newSocketFactory', … function ($scope, $modalInstance, newSocketFactory, …){ … $scope.socket = newSocketFactory(); 这是我的销毁处理程序: $scope.$on('$destroy', function(){ $scope.socket.emit('unlisten'); $scope.socket.disconnect(); //have tried passing true too. }); 这可以正确地工作,当套接字能够连接在模式closures之前,服务器中的断开的事件观察到客户端断开连接。 另外,我可以closures模​​式,然后closures服务器,不会尝试重新连接。 […]

heroku上的node.js web服务器 – 不断增长的内存

我的应用程序启动并运行在5个平行的dynos上的heroku。 有500-1500瑞克/分钟的恒定负载,所以高达25瑞克/秒。 问题是RSS内存在不断增长。 现在我手动重新启动应用程序时,内存达到危险的水平(1 heroku dyno使用的最大内存是512MB)。 内存图表看起来像这样(灰色上限是在512mb限制): 内存释放的时候(在图表上)是当我重新启动应用程序。 奇怪的是,只有当服务器上有不断的负载时才会发生。 当服务器上存在例如2分钟的负载时,则内存增加,之后再下降。 所以看起来由于某种原因,垃圾收集器工作不正常(这是没有收集垃圾,直到服务器加载完成,应用程序不忙)。 有什么我可以做的吗? 这不是内存泄漏,我认为是因为当服务器上没有负载时释放内存… 我到目前为止所尝试的是: 以2分钟间隔手动呼叫GC 设置 – max-old-space-size = 300然而当内存命中300mb时没有任何反应 – 它仍在增加。 也许有其他的select,可以帮助? 节点版本是0.10.20 我使用节点memwatch包,我设法从应用程序收集堆差异: http://jsonfiddle.net/auf8d(11分钟,+37 MB之间的堆差异) http://jsonfiddle.net/4nvcd(15分钟,+50 MB之间的堆差异) 所以肯定会有一些泄漏。 最大的记忆从第一差异变化: … { "what": "Array", "size_bytes": 9320312, "size": "8.89 mb", "+": 79086, "-": 10215 }, … { "what": "Closure", "size_bytes": 2638224, "size": "2.52 mb", "+": […]