WebSocketをiOSに持ち込んで辛かった話の感想
Sep 2, 2018 · 2 min read
https://speakerdeck.com/taminif/have-you-painful-experience-in-web-socket のメモと感想です。
@sbntaminifさんのトークです
kameikeの状況
- WebRTCもSocketも詳しくない
選定理由のメモ
- レッスンの失敗を起こさないようにする
- 端末の負荷を抑える。(学校なので端末の新しさがまちまち)
- フィリピンのネットワークが遅い、断絶する
選定理由のメモ
- もう一つWebRTCを使う案もあったけど重い(コネクションが2本に)
- 録音をアップロードしてがっちゃんこするように選択
- socket.ioがよし
- socket.ioは必要に応じてHTTPのpollingに切り替える → 学校によってはソケット切ることもあるので非常に有効
- 再接続も自動化してくれる
参考になったこと
HTTP対応
- HTTP Pollingに切り替わる仕様を把握するまでに時間がかかった。
- サーバーチームも知っておらず、HTTP対応が間に合わない
通信のプール
- コネクションオブジェクトのハンドリングを正しくやらないと死ぬ。openしたら閉じるのが大切
5秒ごとの音声
ScheduledTimerでやろうとすると割り込みあるので5秒きっかりにならない → runloopでやろう
学びと感想
- 問題の切り分けが難しそう。
- socket.ioのよしな具合にびっくりした。
- これに限らず今日色々と聞いていて、色々と新しい技術に挑戦する際はe2eで好きなレイヤーをいじくれる整ったサンドボックスが必要だなぁという気持ちになった。
