kminevskiy
Phoenix channel subscription timeout
Hi,
I started building an app that uses Phoenix channels and was wondering what’s the right (or the most appropriate) way to maintain channel subscription. By default, channel subscription is closed after 60 seconds. I’m not using the built-in phoenix.js library - instead, it’s a native browser websocket API.
I found one pretty old example where pings are being sent by the server after the client “joins” the channel. However, as far as I understand, the way “keepalive” is handled right now (new-ish versions of Phoenix) is by resubscribing to the channel that sent the “close” event. Is this correct? If so, is that the appropriate way to handle it if I’m not using the standard phoenix.js library?
Thanks!
Most Liked
OvermindDL1
Channels are a higher level above websockets, it has a heartbeat and a specific format. If you want to use raw websockets you should just use a cowboy websocket with phoenix instead of channels. ![]()
If you really want to use the channel API then you’ll basically be recreating the phoenix.js library, so should just use it. ![]()
kminevskiy
Thanks for explanation!
It makes sense now - I’m not the one working on the front-end portion (it’s a separate app that consumes my backend API), so I wasn’t sure how to interact with my API using non-phoenix.js front-end. Now all’s clear ![]()
Popular in Questions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #javascript
- #code-sync
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance








