PhoenixFramework の WebSocket に iOS からつなぐ

PhoenixFramework の WebSocket に iOS から繋ぐのはとても簡単だった。

Awesome iOS with 🌟 で、 Swift で書かれている中から Starscream を選んで使ってみた。README にでかでかと表示されたロボットがカッコよかったので。

PhoenixFramework は ES6 で書かれた WebSocket 通信のためのクラスが最初から用意されてて、その仕組みに乗るとすごく楽なので、Swift 側で同じ仕組みに乗るような通信をすればよい。PhoenixFramework で実装された WebSocket の Chat を使ってみる。

PhenixFramework では、特定の topic に join するというのがあるが、これは JSON に event: "phx_join" というのを付けて送ってる模様。また、まだ良く理解できていないが毎通信ごとに ref というカウンターをインクリメントしてるので倣ってみる。 topic には、Phoenix 側で使ってる topic をそのまま入れれば、あとは好きなように payload にデータを入れてやり取りすればOKなようだった。とても簡単。

下記のようなコードで、Phoenix 側と通信して、 JavaScript で繋がってるブラウザとやり取りが出来た。

PhoenixFramework の WebSocket に iOS からつなぐ