Open3

iOS 15 Safari の WebSocket 不具合

経緯

知り合いがなんか怪しげな事を言っている。

https://twitter.com/toru_inoue/status/1444933613036859395?s=20

WebSocket で Twitter を検索してみる。

https://twitter.com/iCyber0n/status/1444047281028800512?s=20

https://twitter.com/iCyber0n/status/1444048875975815175?s=20

大変まずそうな話に見えてくる。

http://websockets.org/testserver で試したところ確かに切断される。

Apple のフォーラムにもある

https://developer.apple.com/forums/thread/685403

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 だと問題がでないことを確認する。

https://github.com/voluntas/cowboy_ws

つまりサーバ側実装に引っ張られて問題が起きている事がわかる。自社製品には影響が無いことがわかったので、調査を終了する。

作成者以外のコメントは許可されていません