Closed3
iOS 15 Safari の WebSocket 不具合
結論
サーバ側の実装に依存する。
- サーバが圧縮拡張に非対応だと問題が出る
- サーバが分割をうまく制御できないと問題が出る
サーバの実装が甘いと問題が出る。という認識。
経緯
知り合いがなんか怪しげな事を言っている。
WebSocket で Twitter を検索してみる。
大変まずそうな話に見えてくる。
http://websockets.org/testserver で試したところ確かに切断される。
Apple のフォーラムにもある
iOS 15.1 RC でも落ちる、むしろ macOS 11.6 の Safari でも落ちる。
これはおかしいと思い、WebSocket サーバ側を怪しむ。
以下の問題を見つける
[bug] Gorilla WebSocket does not support iOS 15 · Issue #731 · gorilla/websocket
NSURLSession WebSocket を無効にすると動くという発言を見つける。
NSURLSession WebSocket を無効にしても巨大なメッセージを送ってもだめなので、
この時点で問題が複数あることに気付く。
WebSocket Extension である Compress 対応問題と WebSocket の分割問題は別と判断する。
確認
Erlang の HTTP サーバ実装である Cowboy だと問題がでないことを確認する。
つまりサーバ側実装に引っ張られて問題が起きている事がわかる。自社製品には影響が無いことがわかったので、調査を終了する。
このスクラップは2022/07/10にクローズされました