Я смотрел видео laracast о websockets (socket.io) и сам пробовал. На localhost он работает отлично, но когда я пытаюсь запустить его на сервере, я просто получаю ошибки.Socket.io работает только локально
Мои 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
Я много гугл, но не могу найти ответа. Возможно, некоторые из вас знают решение.
Приветствия
спасибо, но я все еще получаю ту же ошибку. –
@ A.Janik отредактировать мой ответ – efirvida
спасибо за обновление, но все та же ошибка –