Angulars JS Btford library, NodeJS Socket.io
Angulars JS Btford library, NodeJS Socket.io
在angularjs(BTFord库)和NodeJS Socket.IO…之间开发聊天应用程序时,我实际上遇到了一个问题
事实上,我需要用户a向用户B发送消息。-如果我将消息记录在节点中,它工作得很好,而且只发送一次。-在angular js中,事件on("message")被调用3或4次,我有发送3或4个的消息
这对我来说是个问题。。。我只需要收到一次信息。这有什么问题吗?
感谢提前
我也遇到过类似的情况,最终控制器执行了不止一次,所以请注意,使用console.log中的消息检查它是否运行了不止一个,beign说,你可能在客户端注册了几个监听器,以避免在客户端中设置一个条件:(假设你在$rootscope上注册事件)
if( $rootScope.$$listeners['socket:someListener']===null || $rootScope.$$listeners['socket:someListener']===undefined){
$rootScope.$on('socket:someListener', function(ev, data){
//Client code
}
}
这只会让你的听众注册一次!干杯
请参阅文档:https://github.com/btford/angular-socket-io#socketremovelistener
你能试试这个吗:
angular.module('Foo').controller('BarCtrl', function ($scope, socket) {
socket.on('message', function (msg) {
// ... do something
});
$scope.$on('$destroy', function() {
socket.removeListener('message');
});
});
相关文章:
- RangeError nodejs socket.io
- 使用cordova快速nodejs socket.io
- nodejs中的socket.io客户端
- 需要一些帮助来理解nodejs和 socket.io
- 使用其他javascript文件nodejs和express发送和获取数据 socket.io
- 将数据库查询存储在nodejs中(使用socket.io)
- 无法为nodejs安装express和socket.io
- NodeJS and Socket.io Flood Control
- NodeJS,通过socket控制台发送缓冲区后表示'这不是缓冲区
- nodejs socket 发出返回未定义
- NodeJS&Socket.IO:发出请求事件并获取响应,我应该在何时/何地绑定侦听器
- NodeJS-socket.io正在获取“;访问被拒绝”;例外
- NodeJs, socket.io, IE
- Angulars JS Btford library, NodeJS Socket.io
- NodeJS + Socket.io连接事件处理程序未被成功调用
- NodeJS+Socket IO发送过多数据
- javascript从缓冲区(nodejs/socket.io)将图像绘制到html中
- 如何提高nodejs / socket io性能
- Winjs应用不能连接nodejs socket.io服务器
- Nodejs socket编程-发送数据长度