Несколько дней назад я настраивал этот сервер WebSocket с http://code.google.com/p/phpwebsocket/
Он отлично работает на моем локальном хосте, используя Xampp. Затем я загрузил его в свое веб-пространство на Strato, но теперь я не могу подключиться к серверу.
Я изменил подключение сокетов к моему домену, но он не работал
Client.html:
var host = "ws://xxxxxxxx.com:12345/Websocket/server.php";
Server.php:
$master = WebSocket("xxxxxx",12345);
Я уже пробовал его с другим портом (80,443,12345,8080,8000 ….), используя IP-адрес в server.php вместо домена.
Я также использовал абсолютные и относительные пути в client.html.
На странице проектов http://code.google.com/p/phpwebsocket/ кто-то предложил использовать 0 или 0.0.0.0 в server.php, но это тоже не работало.
В client.html он просто показывает:
WebSocket – состояние 0 Отключено – статус 3
Я предполагаю, что проблема в том, что Strato блокирует меня от использования WebSockets. Можно ли запускать WebSockets на моем веб-пространстве?
Моя ставка заключается в том, что ваш хост блокирует входящие запросы в сокет. Вы не должны запускать скрипты, такие как phpwebsocket в веб-службе (это сам сервер). Это смущает многих людей, поскольку PHP обычно используется для создания сценариев веб-страниц, а не для демонов кодирования.
Я говорю это, потому что вы упомянули запуск сценария в Xampp и ссылались на вашу службу хостинга как «веб-пространство».
Если это так, вам придется перейти на виртуальный серверный пакет, чтобы вы могли запускать собственные службы.
Хорошо, чтобы довести это до конца.
Я нашел решение для использования своего приложения для сетевых приложений, и у меня есть объяснение, почему он не работает на моем общем хостинге.
Я связался с Страто, который сказал мне, что они не позволяют Websocket на общем хостинге. Единственный способ получить аналогичный результат – использовать AJAX Long Pooling.
Теперь я приобрел виртуальный сервер, и теперь мое приложение для веб-приложений отлично работает.
Спасибо за поддержку.