KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I want to know if it is possible to stream data from the server to the client with Node.js. I want to post a single AJAX request to Node.js, then leave the connection open and continuously stream data to the client. The client will receive this stream and update the page continuously. Update: As an update to this answer - I cannot get this to work. The response.write is not sent before you call close . I have set up an example program that I use to achieve this: Node.js: var sys = require('sys'), http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/html'}); var currentTime = new Date(); setInterval(function(){ res.write( currentTime.getHours() + ':' + currentTime.getMinutes() + ':' + currentTime.getSeconds() ); },1000); }).listen(8000); HTML: <html> <head> <title>Testnode</title> </head> <body> <!-- This fields needs to be updated --> Server time: <span id="time"> </span> <!-- import jQuery from google --> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <!-- import jQuery --> <script type="text/javascript"> $(document).ready(function(){ // I call here node.localhost nginx ports this to port 8000 $('#time').load('http://node.localhost'); }); </script> </body> </html> Using this method I don't get anything back until I call close() . Is this possible or should I go with a long poll approach
Tags (comma-separated)
Save Edits
Cancel