Skip to content

Instantly share code, notes, and snippets.

@Almad
Created September 20, 2012 15:26
Show Gist options
  • Save Almad/3756590 to your computer and use it in GitHub Desktop.
Save Almad/3756590 to your computer and use it in GitHub Desktop.
Simple realtime logreader in node.js & socket.io & coffee script
events = require 'events'
http = require 'http'
socketIo = require 'socket.io'
server = http.createServer((req, res) ->
res.end '''
<html><head>
<script src="/socket.io/socket.io.js" type="text/javascript"></script>
<script>
var socket = io.connect('http://localhost');
socket.on('newData', function (data) {
var p = document.createElement('p');
p.innerText = data
document.getElementById('#stream').insertBefore(p, document.getElementById('#stream').children[0]);
});
</script></head><body>
<div id="#stream"></div>
</body></html>
''').listen(8888)
io = socketIo.listen server
update = new events.EventEmitter()
io.sockets.on 'connection', (socket) ->
update.on 'newData', (data) ->
socket.emit 'newData', data
process.stdin.resume()
process.stdin.on 'data', (chunk) ->
update.emit "newData", chunk.toString()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment