Есть сервер Apache. Он запущен на порту 80.
Архитектура проекта
- workspace
-- api
-- js
-- img
-- css
-- views
--socket
-- app.js
-- index.js
В папке
socket лежит файл sever.php в котором вот такой код:
<?php
use Workerman\Worker;
use PHPSocketIO\SocketIO;
require_once __DIR__ . '/vendor/autoload.php';
// listen port 2021 for socket.io client
$io = new SocketIO(3001);
$io->on('connection', function($socket)use($io){
$io->emit('listen', $msg);
});
Worker::runAll();
?>
Это чудо запускается через консольную команду:
php server.php start
Запускается хорошо и без ошибок в коде.
Apache: запущен на порту 80
Workerman: запущен на порту 3001
Чтобы подписаться на сокеты использую Socket.io на фронте c AngularJS.
Файл подключения:
angular
.module('kanban')
.factory('Socket', function (socketFactory) {
return socketFactory({
ioSocket: io.connect('http://[IP]:3001')
});
});
Но появляется ошибка в консоле:
http://[IP]:3001/socket.io/?EIO=3&transport=pollin... net::ERR_CONNECTION_TIMED_OUT
1) Как решить эту проблему?
2) Надо ли писать что-то в конфигураций Apache
3) Правильно ли все запускается?