Я использую эту библиотеку веб-сокетов PHP для подключения к незащищенный сервер веб-сокетов. На локальном хосте с использованием XAMPP все работает нормально. Я могу создать сервер и успешно подключиться к нему на стороне клиента с помощью JavaScript, используя
новый WebSocket('ws://mywebsite.com:80/dashboard');
Однако теперь я хочу создать веб-сокет на живом http-сайте (общий хост cpanel). У меня есть доступ к SHELL, но я не могу создавать/открывать порты, поэтому мне приходится использовать порт 80 по умолчанию для создания сервера веб-сокетов.
Теперь проблема заключается в том, что при выполнении файла PHP в SHELL для создания сервера веб-сокетов я получаю эту ошибку: PHP Warning: stream_socket_server(): unable to connect to tcp://www.mywebsite.com:80 (Permission denied)
Кто-нибудь знает, почему он говорит, что разрешение отклонено, поскольку порт всегда открыт.
$this->context = stream_context_create();
stream_socket_server("tcp://www.mywebsite.com:80", $errno, $err, STREAM_SERVER_BIND|STREAM_SERVER_LISTEN, $this->context)
У меня такое ощущение, что что-то не так с 'stream_context_create()' в Socket.php. Возможно ли это или вы знаете другую причину, по которой я не могу создать сервер веб-сокетов?
stream_socket_client
успешно создает сервер на общем хосте, но затем возникает другая проблема: я не могу подключиться к серверу с помощью функции javascript, упомянутой в первом сообщении. Я действительно не знаю, что не так в этом случае... 22.04.2017stream_socket_server
, это приведет к отказу в разрешении. Вторая ситуация: когда я используюstream_socket_client
вместо 'stream_socket_server', в этой ситуации сервер сокетов PHP работает нормально, но все же я не могу подключиться к серверу с помощью Javascript (он выдаст ошибку 302 в консоли разработчиков браузер). 22.04.2017