Описание тега phoenix-channels

Каналы фреймворка Phoenix предоставляют инструменты для организации кода и взаимодействия между пользователями, сохраняя при этом соединение открытым для обновлений сообщений в реальном времени, не зависящее от транспортировки, поэтому он может использовать различные протоколы, такие как веб-сокет или опрос журналов.
1 ответ

Ошибки Heroku H15 с каналами Эликсир / Феникс

Как только я начал использовать Каналы с Phoenix, я начал получать много таких ошибок на Heroku: heroku[router]: at=error code=H15 desc="Idle connection" method=GET path="/socket/websocket?guardian_token=eyJhbGciOiJIUz[...]&vsn=1.0.0" host=[...]…
1 ответ

Где хранить сокетное соединение в Reaction-Redux?

Пробовал двумя способами: вызов connectToServer() от создателя действия внутри Starter компонент в componentDidMount(); и отправить как это: let socket = new Socket('ws://address/socket'); socket.connect(); dispatch({ type: Constants.SESSION_SAVE_SO…
1 ответ

Когда использовать {:noreply, сокет} vs {:reply,:ok, socket} в канале Феникса?

Я создаю клиентское приложение Javascript, которое имеет прямую связь с сервером Phoenix и хочет знать, было ли получено сообщение, отправленное на сервер. Похоже, что сокет Phoenix socket.js хочет, чтобы я использовал что-то вроде: channel.push("my…
24 июл '17 в 22:27
1 ответ

Потоковая передача из канала Redis через канал Phoenix

В настоящее время я пытаюсь заменить actioncable небольшим приложением Phoenix. Что мне нужно сделать, так это получить информацию из канала Redis и передать ее клиенту ember. Я пытался использовать Redis.PuSub и адаптер Phoenix Redis, но не смог по…
1 ответ

Как сохранить подписку пользователя на каждый чат, на который он подписан

Это мессенджер Facebook пользовательского интерфейса Если вы реализовали это с помощью Phoenix (фреймворк эликсира) Вы бы создали один канал Феникс для одного чата? Это означает, что ваш клиент (мобильный, интернет и т. Д.) Должен будет открыть оди…
14 апр '17 в 14:01
1 ответ

Список всех слушателей на канале

Как можно увидеть всех слушателей на канале в какой-то момент? (Я имею в виду Phoenix-JS и JS-код на стороне клиента) Что-то вроде этого: channel.eventListeners = ['event1', 'event2'] ...
23 мар '17 в 09:01
0 ответов

Организация кода на стороне сервера Phoenix для каналов

В настоящее время я работаю над приложением, клиентами которого будут одностраничные или мобильные приложения. Рабочая среда - Phoenix 1.3.0 на стороне сервера и Javascript на стороне клиента. У меня есть некоторые архитектурные вопросы и вопросы бе…
26 ноя '17 в 14:59
1 ответ

Многопользовательские каналы Phoenix

В прошлом я реализовывал мультитенантные системы и использовал заголовок узла запроса для разделения пользователей между арендаторами. Моей первой мыслью было использовать тот же подход, но с веб-сокетами, но я столкнулся с несколькими проблемами: 1…
1 ответ

Приложение Elm перестает получать трансляции канала Phoenix

Вяз, феникс и эликсир довольно новы для меня, поэтому я подумал, что я сделаю приложение для тестирования каналов простым примером приложения для проверки использования каналов Феникса. В приложении есть и другие вещи, потому что оно сделано из стар…
24 сен '16 в 08:28
2 ответа

Есть ли способ получить список присутствия внутри контроллера?

Я пытаюсь получить список присутствия внутри контроллера Phoenix, но мне нужен сокет, чтобы использовать функцию Presence.list(socket), Кто-нибудь знает, как использовать Presence.list(socket) внутри контроллера? Причина, по которой я пытаюсь это сд…
10 янв '19 в 15:13
2 ответа

Обновление Phoenix 1.4 - (FunctionClauseError) нет совпадений с функциональными предложениями в Phoenix.Socket.__terminate__/2

Я недавно обновил свое приложение Phoenix с 1.3 до 1.4. Все отлично, за исключением того, что когда я ухожу со страницы, я получаю следующую ошибку: [error] GenServer #PID<0.509.0> terminating ** (FunctionClauseError) no function clause matchi…
03 фев '19 в 21:23
1 ответ

Подключение удаленного клиента к каналу Phoenix

Я пытаюсь отделить свой интерфейс от Phoenix 1.3 (localhost:4000) и запускаю React на localhost:3000. Я не могу по жизни соединиться с Фениксом. Я получаю ошибку: WebSocket connection to 'ws://localhost:4000/socket/websocket?token=undefined&vsn=…
16 дек '17 в 22:43
2 ответа

Трансляция на другой канал Феникс 1.1.6

Я пытаюсь транслировать на другой канал в моем приложении, но не могу заставить его работать. Также я пытаюсь написать тест, но я не уверен, как. Из того, что я могу собрать, я преуспел в трансляции сообщения от messages_channel, но оно не получено …
0 ответов

Ошибка Phoenix при использовании render_to_string с помощником text_input

Я пытаюсь использовать метод render_to_string для генерации html-части, которую я хочу транслировать на канал феникса. У меня проблема в том, что я получаю ошибку не реализованного String.Chars, когда мой частичный содержит помощник text_input. Мой …
1 ответ

Подключение к сокету Phoenix с токеном и присутствием

Я пытаюсь связать модули Phoenix Channel, Token и Presence, чтобы добавить функциональность чата в мое приложение Phoenix 1.3. Я не смог заставить все 3 модуля работать вместе. Последняя ошибка была connection to websocket closed before handshake, Т…
1 ответ

Тестирование сгенерированного канала Phoenix 1.4.0-dev не выполнено с ошибкой компиляции

Я занимаюсь разработкой веб-приложения с фреймворком Phoenix в контейнере Docker. Вот соответствующие строки в dockerfile для установки Phoenix: RUN git clone https://github.com/phoenixframework/phoenix RUN cd /home/user/phoenix/installer/ &&amp…
29 май '18 в 22:41
2 ответа

Передача данных из модели / базы данных в канал с использованием присутствия

У меня есть простое приложение для чата, которое я построил, и я хочу иметь возможность отображать загруженные пользователем изображения (локально размещенные) рядом с именами пользователей на html-странице канала. В настоящее время я использую прис…
1 ответ

Как настроить Websockets с Phoenix за Nginx?

Я пытаюсь настроить веб-сокеты для прохождения Nginx в приложении Phoenix, но получаю ошибку 403. Может кто-нибудь посоветовать правильную конфигурацию, чтобы сделать эту работу в производстве - ENV разработки в порядке. Мой Nginx conf: upstream pho…
1 ответ

Phoenix Presence отслеживает пользователей по нескольким каналам

Поэтому я хочу отслеживать текущую комнату каждого пользователя, используя поведение присутствия. Проблема в том, что я не могу / не знаю, как обновить room_id, если пользователь меняет свою текущую комнату. def join("room:" <> room_id, auth_m…
27 сен '17 в 11:45
1 ответ

Как я могу обновить цвет кнопки в режиме реального времени?

У меня есть страница индекса, когда пользователь входит в систему, он показывает все таблицы (кнопки таблиц) в базе данных. Таблица может иметь порядок. Таким образом, он работает так же, как когда пользователь щелкает по таблице, он перенаправляет …