Не могу решить такую проблему:
Установил на Lumen
паект websocket
Взял самые обычные example примеры,
Server:
require_once('vendor/autoload.php');
$socket = new \HemiFrame\Lib\WebSocket\WebSocket("localhost", 8080);
$socket->on("receive", function($client, $data) use($socket) {
foreach ($socket->getClients() as $item) {
/* @var $item \HemiFrame\Lib\WebSocket\Client */
if ($item->id != $client->id) {
$socket->sendData($item, $data);
}
}
});
$socket->startServer();
Client
require_once('vendor/autoload.php');
$socket = new \HemiFrame\Lib\WebSocket\WebSocket('localhost', 8080);
$socket->on("receive", function($client, $data) use($socket) {
});
$client = $socket->connect();
if ($client) {
$socket->sendData($client, "Message");
$socket->disconnectClient($client);
}
установил порт 8080, между собой они работают как надо, клиент отправляет, сервер принимает...
Пробую в js:
var conn = new WebSocket('ws://sender.com:8080/api/echo');
console.log(conn);
Выдает: WebSocket connection to 'ws://sender.com:8080/api/echo' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
(Пробовал все самые разные вариации, даже вместо localhost на сервере вставлял "sender.com:8080/api/echo", с http и https, с ws и wss, Localhost:8080/api/echo ...)
Если я ставлю стандартный 80 порт, выдает: WebSocket connection to 'ws://sender.com/api/echo' failed: Error during WebSocket handshake: Unexpected response code: 404
Видимо роутинг срабатывает и не дает, даже если роут зарегать, выдаст такую же ошибку, только со статус кодом 200.
Как быть в таком случае?
PS. Ссылки заменены от ботов, прилажуха в разработке