4

アプリケーションでソケット接続を長時間維持するのに問題があります。特にアイドル状態の場合、しばらくすると (2 分ごとに) 切断されるようです。

チャット機能を備えたアプリケーションを作成していて、アプリケーションの存続期間中、ソケット接続を維持する必要があります。毎分サーバーにpingを実行するなどのトリックをすでに試しましたが、これは(Blackberry)リソースの浪費を構成します. Blackberry Push はオプションではありません (BB デバイス以外のクライアントがあるため)。

これを解決する方法を知っている人はいますか、それとも別の方法を提案していますか?

[また、WhatsApp、Kiks などのインスタント メッセージング クロスモバイル プラットフォーム アプリが、リソースを過度に消費することなくこれを実現する方法にも興味があります (少なくとも、私のリソース モニター アプリはファウルをしません)。

4

2 に答える 2

1

Blackberry Push はオプションではありません (BB デバイス以外のクライアントがあるため)。

複雑ではありますが、人気のあるアプリは確実に BlackBerry プッシュを利用しているだけでなく、他のすべてのモバイル プラットフォームで提供されているプッシュ機能も利用しています。これは単なる後付けではなく、「実際に」BlackBerry をサポートすることの一部です。簡単に言えば、BlackBerry プッシュ サービスを使用することです。

于 2012-12-05T01:34:36.197 に答える
1

いくつかの BB OS バージョンで、ソケット接続で同じ動作が確認されました。ソケット接続オプション (サポートされるタイムアウト、タイムアウト値など) を試してみましたが、すべてのプラットフォームで一貫して信頼性が高く、実行可能なものは見つかりませんでした。

したがって、次の構成で終了しました。

  1. プッシュを使用するデバイス - 非アクティブ タイムアウトがプッシュに切り替わった後も、ping を実行してソケットを開いたままにします
  2. プッシュなしのデバイス - 利用可能な最長の ping でソケットを保持します

ケース 2 は非常にまれであり、接続を開いたままにする最長の ping 間隔を選択しました。100% 機能するわけではありません。一部のデバイスではまだ接続が切断されることがわかりました。しかし、私たちはこのケースを慎重に扱い、新しいケースを再開します。

お役に立てれば。成功!

于 2012-12-04T09:38:41.997 に答える