アプリがバックグラウンドにあり、インターネットがダウンしたために xmpp が切断され、インターネットが復旧した場合、アプリを開いたときに切断呼び出しが行われないため、アプリは再接続を試みません。
xmppstream が接続されていることを確認すると、[はい] と表示されます。アプリに戻ったときに、接続がまだ有効かどうかを確認するにはどうすればよいですか?
現在、私は切断を試みており、アプリが起動するたびに接続しています。しかし、切断を検出するのが理想的です...
ありがとう
アプリがバックグラウンドにあり、インターネットがダウンしたために xmpp が切断され、インターネットが復旧した場合、アプリを開いたときに切断呼び出しが行われないため、アプリは再接続を試みません。
xmppstream が接続されていることを確認すると、[はい] と表示されます。アプリに戻ったときに、接続がまだ有効かどうかを確認するにはどうすればよいですか?
現在、私は切断を試みており、アプリが起動するたびに接続しています。しかし、切断を検出するのが理想的です...
ありがとう
アプリが起動したことを検出できる場合は、pingを送信します。応答がない場合は、再接続してください。使用する XMPP ライブラリがStream Management、特にストリーム再開サポートをサポートしている場合、それを使用してストリームを取得できます。
より良い解決策は、接続を管理する別のデーモンを用意し、それが iOS で許可されている場合でも、バックグラウンドで生き続けることです。また、この XEPも興味深いかもしれません。