Получение WebSocket для работы с удаленного URL - PullRequest
1 голос
/ 13 ноября 2010

Я недавно настроил сервер WebSocket на одном из моих домашних компьютеров и пытаюсь заставить его работать через удаленное соединение.Я использовал следующее решение PHP WebSocket (поддерживает Draft 75 и 76):

PHP Websocket Server Нико Кайзера

Из локального соединения демонстрация работает без нареканий.Я могу использовать демо на стороне клиента с localhost, мой DNS указывает на мою домашнюю машину, и (самая странная часть) - на удаленный PHP-хост, на котором размещены ТОЛЬКО клиентские файлы.Javascript указывает на мою домашнюю машину для WebSocket.

Проблема возникает, когда я использую другую машину, не основанную дома.Даже когда я иду по тому же URL, WebSocket не будет подключаться.Итак, вот что происходит:

URL, указывающий на домашний компьютер - Работает только из дома.Страница загружается с других компьютеров, но WebSocket не подключается.http://whoisryannystrom.com/tests/socket/client - Работает только дома.Страница загружается с других компьютеров, но WebSocket не подключается.

У меня есть адрес WebSocket в файле client.html, настроенном так (как я знаю, правильно).Это то же самое в html-файле локального хоста и удаленного клиента.

var server = new WebPush('ws://rnystrom.mine.nu:8000/echo');

Тогда я немного запутался в отношении того, какие адреса должны иметь PHP-файлы сервера.Вот что у меня сейчас:

Основной сервер php (server.php):

$server = new \WebSocket\Server('rnystrom.mine.nu', 8000);

А затем в \ server \ lib \ WebSocket (я думаю, файлы классов WebSocket...) Я использую 'localhost'.Я пробовал «rnystrom.mine.nu» и «localhost», оба работают на домашнем компьютере, и ни один из них не работает удаленно, так что, похоже, это не имеет значения.Я считаю, что $ host используется в конструкторе или что-то.Основной server.php определяет, что такое $ host.

Я в растерянности.Все, что я действительно хочу сделать, - это начать экспериментировать с WebSockets, но я не могу даже начать, если не могу подключиться удаленно!Не интересно иметь удаленный рабочий стол каждый раз, когда я хочу отредактировать или посмотреть свою работу!

Ответы [ 2 ]

4 голосов
/ 03 апреля 2011

Я заметил, что это старый, но однажды у меня была эта проблема. Сделайте привязку к 0.0.0.0, так как это заставляет его слушать все хосты (из-за отсутствия лучшего слова).

0 голосов
/ 17 ноября 2010

Похоже, ваш брандмауэр настроен на разрешение внешних подключений через порт 80, но не через порт 8000.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...