最近Channelを使ったアプリケーションを触っているので、APIをまとめました。 受信したイベントを処理するAPI handle_in/3 channelにjoinしたクライアントからのメッセージを受信して何かしらの処理を行うときに定義します。 多いのは、トピックをサブスクライブしているクライアント全てにメッセージを送るケースだと思います。 その場合は、broadcast!/3を使います。 def handle_in("new_msg", msg, socket) do broadcast!(socket, "new_msg", %{"name" => msg["name"], body: msg["body"]}) {:reply, {:ok, msg["body"]}, socket} end
Phoenix Framework は Rails 風なリッチなフレームワークである割にデフォルトでもそこそこ速いことが知られています.例えば次のようなベンチマークがあります. しかし,それよりも私がおもしろいと思った特長に,リアルタイム通信機能がフレームワークに統合されている点があります.しかしまだ日本ではあまり知られておりません.そこで Phoenix Framework の最新版である v0.17.0 における wiki にある Channel の記事を日本語へと翻訳しました. 翻訳や内容におかしなところがあれば指摘お待ちしております チャンネルはフェニックスの本当に刺激的で強力な部分で,アプリケーションへ簡単にソフトリアルタイムな特徴を追加することができるようになります.チャンネルは簡単なアイディア - メッセージを送る,受けとる に基づいています.送信者はトピックスに関するメッセ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く