Задать вопрос
@Galdar
Web, JS, PHP, NGINX, Linux

Как перенаправить сообщение другому пользователю в workerman?

Читаю документацию не могу понять, на русском толком ни чего не нашёл. Хочу чтобы вводимый текст на одной страницы моментально отображался на другой, начал реализовывать используя workerman, но не могу допереть, как отправить его на другую страницу авторизованному пользователю!

Запись текста и отправка на сервер на странице_1
let ws = new WebSocket('ws://192.168.2.163:1000');
        var text = $('#text').val();
        ws.onopen = () => {
            ws.send(text);
        };


Вот как тут правильно будет указать передачу текста не обратно на страницу_1, а на уже новую страницу_2?
Прием текста на сервере
require_once __DIR__ . '/vendor/autoload.php';
  use Workerman\Worker;
  
  $ws_worker = new Worker("websocket://192.168.2.163:1000");
  $ws_worker->count = 4;
  
  $ws_worker->onMessage=function($connection,$data){
    $connection->send($data);
  };
  
  Worker::runAll();
Вывод в консоль текста со странице_1 на страницу_2
let ws = new WebSocket('ws://192.168.2.163:1000');
   
        ws.addEventListener('message', (event) => {
            console.log('Message from Server: '+event.data);
        });
workerman использую только для трансляции текста, не более. База с сохраненными сообщениями, регистрация клиентов все самописное и рабочее.

Вопрос в том чтобы прикрутить трансляцию текста пользователя до нажатия кнопки отправить, получается другой пользователь будет видеть как печатается текст. Оно должно работать не в две стороны, а только в одну от клиента к менеджеру
  • Вопрос задан
  • 154 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
$ws_worker->onMessage = function($connection, $data) {
  foreach ($ws_worker->connections as $conn) {
    if ($conn != $connection) {
      $conn->send($data);
    }
  }
};
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽