Здравствуйте.
Во всех статьях про работу сокетов в широковещании laravel везде пишут про «каналы» веб-сокетов. Подскажите, что имеется в виду под «каналом» веб-сокета? Это пара ip + порт? Т.е. каждый канал создаётся на новом порту?
Mellorn, Спасибо за ответ. Я спрашивала про, как бы сказать, физически что такое канал? Ну вот есть сокеты на php, чтобы открыть сокет надо указать ip и порт (там ещё какие-то данные, но я не про них) и открытие сокета для соединений означает открытие этого порта для принятия соединений. На один этот порт теперь приходят запросы на подключение, подключаем, и начинаем принимать/отправлять данные по этому соединению. Вот что такое "открыть сокет" по факту. А библиотеки, которые в laravel используются, они же сокеты используют. Значит они также открывают сокет для соединений.. Только "каналов" там нет... Вот мне и не понятно, как эти библиотеки прикрутили "каналы" к этим обычным сокетам?
Mellorn, Это наверное я, в силу малого понимая устройства сокетов, выражаюсь некорректно..
Ну вот в php, вызываем socket_create – создаём сокет, вызываем socket_bind – привязываем сокет к ip и порту, вызываем socket_set_option - разрешаем использовать один порт для нескольких соединений и вызываем socket_listen – прослушиваем входящие соединения на сокете. Всё, все запросы на один этот сокет приходят, на клиенте указываем также ip и порт, куда отправлять запросы. Нет тут каналов.. Я не понимаю, как реализованы каналы в этих библиотеках.
сервер - это просто приложение, имеющее определённую реализацию.
Я спрашиваю про физическое, что ли, устройство сокетов и каналов. Сокет это по сути порт, открытый для принятия подключений, как я понимаю. Все запросы, на него приходящие, обрабатываются одним алгоритмом. А канал где и что это?
Про то, как работать с каналами в laravel, я прекрасно понимаю. Всё, что Вы написали про их устройство, мне прекрасно понятно. Но в документации не рассказывается, как устроены каналы, как они создаются, как принимают запросы и т.д.
Mellorn, Вы привели пример работы тв канала со стороны клиента. А я спрашиваю, про сторону сервера.
На примере тв каналов. ТВ канал передаёт сигнал в виде радиоволн на определённой конкретно его частоте, которые ловят тв антенны, которая передаёт сигнал в телевизор на стороне клиента (а на телевизоре была выбрана частота этого канал). Вот что такое канал, это определённая частота вещания. А не то, что мы включили и смотрим программы.
Я, конечно, имела в виду не кабельное телевидение.