Skip to content

Instantly share code, notes, and snippets.

@revskill10
Forked from adunkman/index.html
Created September 24, 2012 22:59
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save revskill10/3778974 to your computer and use it in GitHub Desktop.
Save revskill10/3778974 to your computer and use it in GitHub Desktop.
Relay messages from RabbitMQ to a browser using Socket.io
<!DOCTYPE html>
<html>
<head>
<script src="/socket.io/socket.io.js"></script>
<script>
(function () {
var onMessage = function (data) {
// Do something with the message data
};
var connectToServer = function () {
var socket = io.connect('http://localhost:8080');
socket.on('message-name', onMessage);
};
connectToServer();
})();
</script>
</head>
<body>
</body>
</html>
var amqp = require('amqp'),
express = require('express'),
app = express.createServer(),
io = require('socket.io').listen(app),
rabbitMq = amqp.createConnection({ host: 'rabbitmq-host.com' });
app.configure(function () {
app.use(express.static(__dirname + '/public'));
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
rabbitMq.on('ready', function () {
io.sockets.on('connection', function (socket) {
var queue = rabbitMq.queue('my-queue');
queue.bind('#'); // all messages
queue.subscribe(function (message) {
socket.emit('message-name', message);
});
});
});
app.listen(8080);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment