2
當我連接io.on函數時,我正面臨問題(我非常沮喪)。我使用express,ioredis和socket.io。 redis正常工作,但socket.io無法正常工作。它不是working.please幫助。io.on在laravel 5.2中使用socket.io進行連接時無法正常工作5.2
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
var Redis = require('ioredis');
var redis = new Redis();
//port connection
server.listen(3000);
console.log('server listening 3000');
//redis sub (working fine)
redis.subscribe('test-channel', function() {
console.log('Redis: test-channel subscribed');
});
//this code is not working (stop execution)
io.on('connection', function(socket){
console.log("new client connected");
});
io.on('connection', function (socket) {
console.log("new client connected");
redis.subscribe('message');
console.log("redis start");
//send message to frontend
redis.on("message", function(channel, message) {
console.log("mew message in queue "+ message + "channel");
socket.emit(channel, message);
});
//close socket
socket.on('disconnect', function() {
redis.quit();
console.log('redis disconnected!');
});
});
客戶端
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="http://code.jquery.com/jquery-1.11.2.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script src="https://cdn.socket.io/socket.io-1.3.4.js"></script>
<script>
var socket = io.connect('http://localhost:3000');
socket.on('message', function (data) {
$(".progress-bar").css('width',+data+'%');
alert('connection established');
$("#messages").append("<p>"+data+"</p>");
});
</script>
你可以改變'io.on'到'io.sockets.on'?並刪除重複的代碼。 – Gintoki
我已經試過這個,但這不起作用。 –
甚至呢?你的客戶端配置? – Gintoki