pusher.php
<?php
//Load the Predis autoloader
require("Predis/autoload.php");
//Register all classes
Predis\Autoloader::register();
//Create a redis client to publish event
$redis = new Predis\Client(array(
"scheme" => "tcp",
"host" => "127.0.0.1",
"port" => 6379
));
//Publish the event
$redis->publish("mychannel", "Woooow there !!!");
?>
pusher.js
var app = require('express')();
var server = require('http').createServer(app);
var io = require('socket.io')(server);
var redis = require('redis');
server.listen(8080);
io.on("connection", function (socket) {
console.log("new client connected");
var redisClient = redis.createClient();
redisClient.subscribe('mychannel');
redisClient.on("message", function(channel, message) {
console.log("mew message in queue channel");
socket.emit("schannel", message);
});
socket.on('disconnect', function() {
redisClient.quit();
});
});
receiver.html
<!doctype html>
<html>
<head>
<title>Test</title>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2" >
<div id="messages" >ss</div>
</div>
</div>
</div>
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script src="http://localhost:8080/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost:8080');
socket.on("schannel", function(message) {
$( "#messages" ).append( "<p>"+message+"</p>" );
console.log("tweet from", message);
console.log("contents:", message);
});
</script>
</body>
</html>
That's all. You are done....
You can monitor redis messages using following command
redis-cli monitor
<?php
//Load the Predis autoloader
require("Predis/autoload.php");
//Register all classes
Predis\Autoloader::register();
//Create a redis client to publish event
$redis = new Predis\Client(array(
"scheme" => "tcp",
"host" => "127.0.0.1",
"port" => 6379
));
//Publish the event
$redis->publish("mychannel", "Woooow there !!!");
?>
pusher.js
var app = require('express')();
var server = require('http').createServer(app);
var io = require('socket.io')(server);
var redis = require('redis');
server.listen(8080);
io.on("connection", function (socket) {
console.log("new client connected");
var redisClient = redis.createClient();
redisClient.subscribe('mychannel');
redisClient.on("message", function(channel, message) {
console.log("mew message in queue channel");
socket.emit("schannel", message);
});
socket.on('disconnect', function() {
redisClient.quit();
});
});
receiver.html
<!doctype html>
<html>
<head>
<title>Test</title>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2" >
<div id="messages" >ss</div>
</div>
</div>
</div>
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script src="http://localhost:8080/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost:8080');
socket.on("schannel", function(message) {
$( "#messages" ).append( "<p>"+message+"</p>" );
console.log("tweet from", message);
console.log("contents:", message);
});
</script>
</body>
</html>
That's all. You are done....
You can monitor redis messages using following command
redis-cli monitor
No comments:
Post a Comment