You can do this using NodeJs.
NodeJS is javascript on your server that pushes content to connected clients in real time.
Its really easy to use and setup.
You need a server dedicated to the real time app, I use http://nodejitsu.com.
Server Side
var app = require('http').createServer(handler)
, io = require('socket.io').listen(app)
, url = require('url')
app.listen(8080);
function handler (req, res) {
// parse URL
var requestURL = url.parse(req.url, true);
// if there is a message, send it
if(requestURL.query.message)
sendMessage(decodeURI(requestURL.query.message));
// end the response
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end("");
}
function sendMessage(message) {
io.sockets.emit('notification', {'message': message});
}
Client Side
<script src="socket.io.min.js"></script>
<script>
var socket = io.connect('http://localhost:8080');
socket.on('notification', function (data) {
console.log(data.message);
});
</script>
I added the easy to use example by @intivev below to complete the answer for future readers
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…