Skip to content

Instantly share code, notes, and snippets.

@adunkman
Created January 14, 2012 15:28
Show Gist options
  • Save adunkman/1611789 to your computer and use it in GitHub Desktop.
Save adunkman/1611789 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);
@jasperan
Copy link

Code is outdated and doesn't work anymore as of Feb. 15th 2022

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment