Задать вопрос
@z0ddak
Мордор напоминает о себе

WebSocket сервер — websocketd. Как получить данные в php-обработчик. Пример?

Библиотека websocketd уже установлена и работает. С приёмом - передачей на js проблем у меня не возникло, а вот с приёмом данных на php-обработчик загвоздка. Поделитесь пожалуйста конструкцией. Передать нужно всего 3 переменные.

1. Вопрос первый: как правильно запустить php-обработчик с websocketd одной командой? Запуск websocketd и php-обработчика таким образом (пример ниже) не приносит результата, хотя тестовый вариант bash-обработчика (count.sh) с сайта websocketd.com работает:
  • $ websocketd --port=8008 ./count.sh - прекрасно работает
  • $ websocketd --port=8008 php /<путь до обработчика>/handler.php - не работает


Код обработчика пока самый простой - ответить в сокет:

<?php echo 'Answer from the handler'; ?>

"Дёргаю" WebSocket c другого домена соответственно таким js-скриптом:
<script src="reconnecting-websocket.min.js"></script>
<script>
  var ws    = new ReconnectingWebSocket('ws://<ip-адрес сервера>:8008/');
  var msg = {
      first_variable:  'aaaaaaaa', 
      second_variable: 'bbbbbbbb', 
      third_variable:  1
  };
  //ws.debug = true;
  ws.reconnectInterval = 10000;

  ws.onopen = function() {
      console.log('Data sent');
  };

  ws.send(JSON.stringify(msg));

  ws.onclose = function() {
      console.log('Connection closed: ' + event.data);
  };

  ws.onmessage = function(event) {
      console.log('Answer: ' + event.data);
  };
</script>

Но в ответ в консоли браузера это (видно что отправляет, но не принимает):

9356d5dda23b44c2966d5e63dcbdd363.PNG

2. Вопрос второй: какой будет код php-обработчика, чтобы принять данные?
  • Вопрос задан
  • 373 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы