node.js - emit socket.io and sailsjs (Twitter API) -


i got twits, i'm printing of them ok in console, send data view , don't know how can using socketio.

any idea?

var twittercontroller = {  'index': function(req,res) {  var twitter = require('ntwitter');  var twit = new twitter({   consumer_key: '...',   consumer_secret: '...',   access_token_key: '...',   access_token_secret: '...' });  twit.stream('statuses/filter', { track: ['dublin', 'spain']} , function(stream) {   stream.on('data', function (data) {     console.log(data.user.screen_name + ': ' + data.text);      req.socket.emit('tweet', {                     user: data.user.screen_name,         text: data.text     });    }); });        res.view(); }, }; module.exports = twittercontroller; 

and in view i'm trying print twits

<ul class="tw"></ul>  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>  <script src="/socket.io/socket.io.js"></script> <script>   var socket = io.connect('http://localhost:1337');     jquery(function($){     var twlist = $('ul.tw');   });    socket.on('tweet', function (data) {     twlist.prepend('<li>' + data.user + '</li>');   }); </script> 

if give sails v0.9 try, you'll have easier time w/ out of box since bundled example handles boilerplate connection logic you.

the key is, instead of using res.view(), serve tweets res.json(tweets).

in example, you're using streams, can take advantage of res.pipe(stream).

then can use sails.io.js on front-end send socket.io request /twitter, , use results fun , profit.

the following front-end code assumes you're using tiny client-side sdk (sails.io.js) bundled in sails v0.9.x:

socket.get('/twitter', function (tweets) {   console.log('got following tweets server :: ', tweets); } 

keep in mind socket.get convenience method on top of socket.emit works sails router out of box. can still custom socket.io things if have pubsub-specific code don't want make accessible via http.

sails.io.js supports socket.post, socket.put, , socket.delete, similar api comparable jquery ajax methods (e.g. $.post)


Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -