Я пытаюсь получить уведомления в реальном времени в своем приложении Laravel 5. Локальное строительство на бродячей коробке с Homestead.
Я не могу понять, в чем проблема со следующей настройкой.
Мой server.js выглядит следующим образом...
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
var redis = require('redis');
server.listen(3000);
io.on('connection', function (socket) {
var redisClient = redis.createClient();
redisClient.subscribe('message');
redisClient.on("message", function(channel, message) {
socket.emit(channel, message);
});
socket.on('disconnect', function() {
redisClient.quit();
});
});
Тогда мой клиентский код должен подписаться:
<script src="https://cdn.socket.io/socket.io-1.3.4.js"></script>
<script>
var socket = io.connect('http://127.0.0.1:3000');
socket.on('message', function (data) {
alert(data);
});
</script>
Firebug продолжает возвращаться:
ПОЛУЧИТЬ http://127.0.0.1/socket.io/?EIO=3&transport=polling&t=1430825965165-1 Прервано
Инструменты Chrome показывают мне следующее:
http://127.0.0.1:3000/socket.io/?EIO=3&transport=polling&t=1430826106108-3 net::ERR_CONNECTION_REFUSED
Довольно новичок в NodeJs и очень запутался. Потратил добрых 4 часа, пытаясь решить это.
Любые указатели?
Большое спасибо, Дин.