【发布时间】:2016-02-06 11:18:04
【问题描述】:
我观看了有关 websockets(socket.io) 的 laracast 视频并亲自尝试过。在本地主机上它工作得很好,但是当我尝试在服务器上运行它时,我得到了错误。
我的 socket.js:
var server = require('http').Server();
var io = require('socket.io')(server);
var Redis = require('ioredis');
var redis = new Redis();
redis.subscribe('report-created');
redis.on('message', function(channel, message){
message = JSON.parse(message);
io.emit(channel + ':' + message.event, message.data);
});
server.listen(3000);
客户:
<script>
$.ajaxSetup({
headers: {
'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
}
});
var socket = io('IPFromServer:3000');
new Vue({
el: 'body',
data: {
reports: []
},
ready: function(){
socket.on('report-created:App\\Events\\ReportCreated', function(report){
console.log(report["reportCreated"]);
$.ajaxSetup({
headers: {
'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
}
});
window.location.replace("http://autoreport.dev/fileentry/get/" + report["reportCreated"]);
}.bind(this));
}
});
</script>
就像我说的,它在 Localhost 上运行得很好,但不是在服务器上我总是收到这个错误消息:
GET ...socket.io/?EIO=3&transport=polling&t=1446734287420-0 net::ERR_CONNECTION_TIMED_OUT socket.io.min.js:1
我搜索了很多,但找不到任何答案。也许你们中的一些人知道解决方案。
问候
【问题讨论】: