Изучаю вебсокеты, конкретно библиотеку reactphp, в документации масса примеров сокет-серверов, но подключение к сокету идёт в основном через telnet. Пытаюсь разобраться как вывести сообщения, полученные от сервера, в браузер. Но соединение с сервером не устанавливается и я не понимаю в чем проблема.
В консоли браузера выводится следующая ошибка: Error during WebSocket handshake: net::ERR_INVALID_HTTP_RESPONSE.
Необходимо ли при использовании данной библиотеки прописывать и отправлять ответные заголовки на сторону клиента или библиотека сама их формирует? Не нашёл такие подробности в документации, к сожалению.
Может быть причина в Apache, влияет ли он как-то на работу вебсокета?
Cервер:
$loop = React\EventLoop\Factory::create();
$socket = new React\Socket\Server('127.0.0.1:8080', $loop);
$socket->on('connection', function(ConnectionInterface $connection){
$connection->write('Hi!');
$connection->on('data', function($data) use ($connection){
$connection->write(strtoupper($data));
});
});
echo "Listening on {$socket->getAddress()}\n";
$loop->run();
Клиент:
function message (text) {
$('#chat-result').append(text);
}
$(document).ready(function($) {
var socket = new WebSocket("ws://127.0.0.1:8080");
socket.onopen = function() {
message("<div>Соединение установлено.</div>");
}
socket.onerror = function() {
message("<div>Ошибка при соединении.</div>");
}
socket.onclose = function() {
message("<div>Соединение закрыто.</div>");
}
socket.onmessage = function(event) {
var data = JSON.parse(event.data);
message("<div>" + data.type + " - " + data.message + "</div>");
}
});
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Создал скрипт который должен реагировать на нажатие кнопки (с произвольным именем из 1 символа), однако при выполнении ничего не происходит...
Всем привет, имеется данный код на PHP, который парсит контент с одной страницыА как вывести например, контент с разных страниц