Home > プッシュ通知(8)

プッシュ通知(8)


  • Posted by: F&F
  • 2015年6月22日 13:05

RTX1100は無実の罪だった。
ルータを変えて回復したのは、全く新たなコネクションになったとGoogle側の機器が判断したからではないのか。

昨日書いたようにプッシュ通知が駄目な場合は、スマートフォン側のIPアドレスを変える事によって回復する。
RTX1100は設定を変えながら実験している所があり、毎日のようにWAN側を瞬断させたりしていた。
その時にWAN側のIPアドレスが変わるとプッシュ通知が来なくなるし、たまたまそれが同じなら正常だったのかも知れない。
最初はそれに気づかずにスマートフォン側だけを見ていたので何が起きているか分からなかった。
そこでルータを変えてみようと思い、変えたらうまく行った。
でも何で変えてうまく行くんだ?と思って元に戻してみた。
ここで一つ分かったのは、WAN側のIPアドレスが変化するとプッシュ通知が来なくなる場合がある事だ。

スマートフォン側を見ると、スマートフォンを再起動するとプッシュ通知が来なくなる。
これを回復させるにはスマートフォンのIPアドレスを変化させればいい。
再起動した場合のみではなくWi-Fi接続が不安定な場合も同様にプッシュ通知が来なくなる。
これもIPアドレスを変化させて新たなコネクションと認識させれば回復する。

プッシュ通知を受けるためにはスマートフォンのIPアドレスが分かっている必要がある。
スマートフォンは(家庭内Wi-Fiでは)ローカルIPアドレス(例:192.168.1.100)が振られているのでインターネット側からは見えない。
そこでスマートフォンはGmailサーバに「私はここにいるよ」と信号を送る。
信号自体のIPアドレスはルータ(例:200.200.200.200)のものだが、それを送ったポート番号(例:40000)がローカルIPアドレスを判断する材料になる。
Gmailサーバは送られてきたデータの発信元IPアドレスとポート番号(例:200.200.200.200:40000)を記憶する。

プッシュ通知はその発信元IPアドレス(ルータのIPアドレス)とポート番号に送られる。
ルータは、このポート番号(40000)はこのLAN機器(スマートフォン)が使ったものだなと記憶しているのでGmailから送られてきたデータをスマートフォン(192.168.1.100)にフォワードする。
スマートフォンはGmailサーバの信号が受信出来るのでプッシュ通知が行われる。

ルータを再起動するなどしてWAN側のIPアドレスが変わった、又はスマートフォンを再起動したりWi-Fi接続し直したりしてポート番号が変わる(例:30000)とGmailサーバから送られてくるプッシュ通知が受からなくなる。
再起動後のWAN側IPアドレスがたとえば100.100.100.100に変わったとしてもGmailサーバはそれを知らないので200.200.200.200に信号を送ってくるからだ。
これでは通信が成立しないので、そんな事が起きないように制御される。

長くなったので続きは明日。

   

Comments:0

コメント投稿には JavaScript が必要です。ブラウザのJavaScript 機能を有効にしてください。

サインインしなくてもコメントの投稿は出来ます。
サインインしている場合はお名前などを入力せずに、そのまま投稿できます。

登録は簡単&それによって何かが起きるわけではないのでお気軽にどうぞ。
登録ページ書き込み→確認メール送信→確認メールのURLクリックで承認、の手順です。
確認メールに書かれたURLにアクセスしないと登録は完了せず、正しいログイン状態に移行できません。
コメント フォーム
コメント投稿完了までには少し時間がかかります。
二重投稿にご注意下さい。

Home > プッシュ通知(8)



VC