WebSocketをiOSに持ち込んで辛かった話の感想

kameike
kameike
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で好きなレイヤーをいじくれる整ったサンドボックスが必要だなぁという気持ちになった。
Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade