【发布时间】:2015-05-05 11:43:39
【问题描述】:
我正在尝试在我的 Laravel 5 应用程序中获取一些实时通知。使用 Homestead 在 vagrant box 上本地构建。
我无法弄清楚以下设置的问题所在。
我的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-3net::ERR_CONNECTION_REFUSED
对 NodeJs 还很陌生,很困惑。现在花了整整 4 个小时来解决这个问题。
任何指针?
非常感谢,院长。
【问题讨论】:
-
找到解决方案了吗?
标签: node.js redis socket.io laravel-5 homestead