0
好傢伙我遇到在Redis的發佈/訂閱一個問題,因爲我的客戶不顯示我已經發表在Redis的-CLI消息在客戶端顯示發佈的消息。我使用在這裏找到的代碼在計算器中,我做了一些修改。 Here is the link and code.我希望你能幫助我,我的目標是發佈消息到客戶端的index.html使用Redis的在Redis的-CLI發佈。我之前完成了這個工作,但我無法再讓它工作。先謝謝你們。的Redis的Pub/Sub不使用Redis的-CLI
這裏是我的客戶的index.html
<html>
<head>
<title>PubSub</title>
<script src="/socket.io/socket.io.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<!-- <script src="/javascripts/socket.js"></script> -->
</head>
<body>
<div id="content"></div>
<script>
var socket = io.connect('http://localhost:3000');
var content = $('#content');
socket.on('connect', function() {
});
socket.on('message', function (message){
content.prepend(message + '<br />');
}) ;
socket.on('disconnect', function() {
console.log('disconnected');
content.html("<b>Disconnected!</b>");
});
socket.connect();
});
</script>
</body>
</html>
這裏是我的server.js
var express = require('express');
var app = express();
var redis = require('redis');
var http = require('http');
var server = http.createServer(app);
var socket = require('socket.io').listen(server);
var publish = redis.createClient();
app.listen(3000);
console.log("Express server listening on port 3000")
app.get('/', function (req,res) {
res.sendfile(__dirname + '/public/index.html');
});
socket.on('connection', function (client) {
var subscribe = redis.createClient();
subscribe.subscribe('pubsub');
subscribe.on("message", function (channel, message) {
publish.send(message);
});
publish.on('message', function (msg) {
});
publish.on('disconnect', function() {
subscribe.quit();
});
});
它仍然不起作用先生。 :( –
您通過訂閱或發佈連接接收郵件嗎?請澄清。 – hexacyanide
我receiveing throught的認購先生的消息,我的HTML客戶一點兒也不表現出來。有沒有在我的代碼的任何其他問題?謝謝你,先生。 –