Храповик PHP Websocket постоянный Ubuntu 16.04

Мой файл веб-сокета:

<?php
require  __DIR__ . '/../../../vendor/autoload.php';

use Ratchet\MessageComponentInterface;
use Ratchet\ConnectionInterface;

require 'chat.php';

// Run the server application through the WebSocket protocol on port 8080
$app = new Ratchet\App("localhost", 8080, '0.0.0.0', $loop);
$app->route('/chat', new Chat, array('*'));

$app->run();

Я следовал этому руководству для настройки моего веб-сокета: https://blog.samuel.ninja/the-tutorial-for-php-websockets-that-i-wish-had-existed/

Локально это работает используя php socket.php (протестировано с xampp на windows 10). Когда я пытаюсь развернуть на моей виртуальной машине (Ubuntu 16.04), у меня появляется эта ошибка:

WebSocket connection to 'ws://localhost:8080/chat?id=NDY=&group=43,60' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED

PS: я пытался запустить websocket с помощью php /var/www/path-to-websocket/socket.php

Мне также нужно запустить его с сервисом вместо командной строки, но описанный метод не работает

1 ответ

Решение

Попробуй использовать SERVERNAME вместо localhost.

Из PHP RATCHET:

Run your website and WebSocket server on the same machine using port 8080 for WebSockets and take the chance client proxies won't block traffic
Run your WebSocket server on its own server on port 80 under a subdomain (sock.example.com)
Put a reverse proxy (HAProxy or Varnish) in front of your webserver and WebSocket server

источник: http://socketo.me/docs/deploy

Другие вопросы по тегам