0
我用液鹼中和Socket.io,我有一個問題,「火」發出的acknowleage回調..離子,Socket.io和AngularJS,Acknowleage不起作用
在正常的JavaScript客戶端是:
function ack(response){
console.log(response);
}
socket.emit('message',{data:"data"}, ack);
當服務器recibe該消息的客戶端火該功能,服務器側是..
socket.on('message',function(data,fn){
fn({data:"response"});
});
所以,當服務器執行的FN({數據: 「響應」} ),客戶開火了功能。
我建立與離子框架此工廠:
services.factory('$socket', ['$rootScope', function($rootScope) {
var socket = io.connect('http://127.0.0.1:9564');
function on(eventName, callback){
console.log(eventName);
socket.on(eventName, function() {
var args = arguments;
$rootScope.$apply(function() {
callback.apply(socket, args);
});
});
}
function emit(eventName, data, callback){
socket.emit(eventName, data, function() {
var args = arguments;
$rootScope.$apply(function() {
callback.apply(socket, args);
});
});
}
return {
on: on,
emit: emit
};
}]);
在我UserCtrl我嘗試以這種方式來使用:
function OnLogin(data){
console.log(data);
$scope.closeLogin();
}
$scope.doLogin = function() {
$socket.emit('user:login', $scope.loginData, OnLogin);
};
的問題是,該功能OnLogin不會被調用,我嘗試把這個函數放到$ scope.OnLogin中,但是是一樣的。
Eny對此有何解決方案?
感謝
是的,問題是在AndroidManifiest互聯網permition。 :P。謝謝。 – cmarrero01 2014-12-29 11:42:44