WebSocketとSoftBank3G回線の困った挙動
SoftBankのSmartphoneは3G回線の80番ポートでWebSocket通信をしようとしてもうまく行かないらしい。
http://d.hatena.ne.jp/yshgt/20111124/1322082952
ものの見事に僕は上記の状態だったわけで、80番ポートのVarnish経由でバックエンドサーバとつないでいた。
ちなむと、僕はSoftBankのHTC Desireを使っている。
FireFoxもChromeもPC場では問題なく動くんだ。
AndroidFirefoxで開いたときは、何故sendメソッドだけが動かない。
具体的には以下のような感じ
PC Chrome | PC FireFox | Android FireFox | ||
---|---|---|---|---|
onmessage | onmessage | onmessage | ||
PC Chrme | send | ○ | ○ | ○ |
PC FireFox | send | ○ | ○ | ○ |
Android Firefox | send | ☓ | ☓ | ☓ |
メッセージの受信はできるし表示もできるしonopendもできるのに、sendだけができない。
server側にもメッセージは届いていないらしいけど、コードが壊れているわけじゃない。
Android Firefoxの実装か、回線の細さか、探しに探し回った果てに、「もしかして3Gが原因? でもだったらもっと記事があるはず・・・」とおもって試しに「WebSocket 3G」で、上記の記事が出てきたわけです。
Wifiでアクセスしたらsendできたよ!!
:wq