Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Here's an implementation that uses jetty instead node. The angularjs part is based on the angular-seed app. I'm not sure if the angular code is idiomatic...but I've tested that this works. HTH -Todd.</p> <h3>TimerWebSocketServlet see</h3> <p><a href="https://gist.github.com/3047812">https://gist.github.com/3047812</a></p> <h3>controllers.js</h3> <pre><code>// ------------------------------------------------------------- // TimerCtrl // ------------------------------------------------------------- function TimerCtrl($scope, CurrentTime) { $scope.CurrentTime = CurrentTime; $scope.CurrentTime.setOnMessageCB( function (m) { console.log("message invoked in CurrentTimeCB: " + m); console.log(m); $scope.$apply(function(){ $scope.currentTime = m.data; }) }); } TimerCtrl.$inject = ['$scope', 'CurrentTime']; </code></pre> <h3>services.js</h3> <pre><code>angular.module('TimerService', [], function ($provide) { $provide.factory('CurrentTime', function () { var onOpenCB, onCloseCB, onMessageCB; var location = "ws://localhost:8888/api/timer" var ws = new WebSocket(location); ws.onopen = function () { if(onOpenCB !== undefined) { onOpenCB(); } }; ws.onclose = function () { if(onCloseCB !== undefined) { onCloseCB(); } }; ws.onmessage = function (m) { console.log(m); onMessageCB(m); }; return{ setOnOpenCB: function(cb){ onOpenCB = cb; }, setOnCloseCB: function(cb){ onCloseCB = cb; }, setOnMessageCB: function(cb){ onMessageCB = cb; } }; })}); </code></pre> <h3>web.xml</h3> <pre><code>&lt;servlet&gt; &lt;servlet-name&gt;TimerServlet&lt;/servlet-name&gt; &lt;servlet-class&gt;TimerWebSocketServlet&lt;/servlet-class&gt; &lt;load-on-startup&gt;0&lt;/load-on-startup&gt; &lt;/servlet&gt; &lt;servlet-mapping&gt; &lt;servlet-name&gt;TimerServlet&lt;/servlet-name&gt; &lt;url-pattern&gt;/api/timer/*&lt;/url-pattern&gt; &lt;/servlet-mapping&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload