2016-08-22 9 views
-1

私はnodejs上にアプリケーションを書いていますが、socket.ioでは古いバージョンですが角度はありません。角度を使って新しいバージョンを開発したいと思います。ユーザーがアプリケーションに接続するときに新しいソケットを作成したいのですが、そのソケットがアプリケーションのすべてのセクションで同じになるようにするために、anglejのsocket.ioを使用して、DOMのデータを更新しますイベントとソケット通知。私はそのソケットの管理は、すべてのビューの一般的なので、そのイベントは私のアプリの任意のセクションで検出されます。私は頑強であることを希望する。ありがとう。どのようにsocket.ioをangularjsに接続しますか?

+0

あなたのコードと、特定の問題の説明あなたは(それを持っているを投稿してください。すなわち、それが何を期待しているのか、それが実際に何をしているのか)。 – jcaron

答えて

0

角度サービスを作成し、必要な場所で使用することができます。ここ

は例です:ロジックの

(function(){ 
    'use strict'; 

    angular.module('-your module name-').service('SocketService', socketService); 

    socketService.$inject = ['$rootScope', '$cookieStore']; 
    function socketService($rootScope, $cookieStore) { 
     var globals = $cookieStore.get('globals'); 
     var socket = io.connect(
      "-your socket address-", 
     ); 
     var self = this; 

     self.on = On; 
     self.emit = Emit; 

     function On(eventName, callback) { 
      socket.on(eventName, function() { 
       var args = arguments; 
       $rootScope.$apply(function() { 
        callback.apply(socket, args); 
       }); 
      }); 
     } 

     function Emit(eventName, data, callback) { 
      socket.emit(eventName, data, function (res) { 
       var args = arguments; 
       $rootScope.$apply(function() { 
        if (callback) { 
         callback.apply(socket, args); 
        } 
       }); 
      }) 
     } 
    } 
})(); 

残りはあなた次第です...;)

関連する問題