1

SMS を使用せずに Java ME にプッシュ テクノロジを実装する方法はありますか?

ストリームベース/ネットワークベースの通知が解決策であることは知っていますが、通知をクライアントに送信するサーバーを構成するにはどうすればよいですか? 通知を送信する受信者 (クライアント) のアドレスを取得するにはどうすればよいですか?

SMS https://www.ibm.com/developerworks/java/tutorials/wi-midpreg/のチュートリアルがありますが、http で実装する必要があります。

4

3 に答える 3

2

通知を送信する受信者 (クライアント) のアドレスを取得するにはどうすればよいですか?

これは、物事が通常どのように機能するかです。電話がデータ サービスを使用していない場合、電話には IP アドレスがありません。電話からデータが要求されると、電話は動的 IP アドレスを受け取り、データ チャネルがアクティブな間はそれを保持します。このアドレスは通信ネットワーク内で一意であり、プロキシによってインターネットの他の部分と連携します。

使用できるアプローチの 1 つは、アプリとサーバーの間に永続的なソケット接続を確立することですが、これはうまく拡張できません。

私の見解?SMS で動作するようになったら、SMS でアプリを起動し、アプリがサーバーとの接続を開いて必要なデータをダウンロードするようにします。一部の携帯電話では、UI なしでアプリを実行することもできます。

于 2012-09-05T11:58:28.200 に答える
1

残念ながら、すべての j2me をプッシュするための標準的な方法はありません。

また、すべての j2me に対してバックグラウンド アプリ/プロセスを使用する方法がないため、自分で実装するのも困難です。

彼らが現在推進しているノキア「NNA」からの解決策があります。ただし、これは最近の一部の OS バージョンでのみ機能します。

于 2012-09-05T05:44:17.770 に答える
1

PushRegistry API ドキュメント (オンラインで入手可能) では、SMS に限定されていません。

特に、データグラムとソケットは例として明示的にリストされています。

記述子ファイルの宣言表記の例

以下は、ポート 79 でストリーム ソケットを予約し、ポート50000 でデータグラム接続を予約する記述子ファイル エントリの例です。番号レジストリ]

MIDlet-Push-1: socket://:79, com.sun.example.SampleChat, *
MIDlet-Push-2: datagram://:50000, com.sun.example.SampleChat, *

MIDP 2 仕様では、特定のプロトコル サポートはオプションであり、MIDlet で有効にするかどうかは実装次第であることに注意してください。

接続とプッシュ登録のサポート

すべての汎用接続がプッシュ アプリケーション トランスポートとしての使用に適しているわけではありません。プロトコルがインバウンド接続タイプとしてデバイスでサポートされている場合でも、有効なプッシュ メカニズムとして有効にする必要はありません。たとえば、プラットフォームは でサーバー ソケット接続をサポートするMIDlet場合がありますが、プッシュ起動機能のインバウンド ソケット接続をサポートしない場合があります。プラットフォームがそのオプション機能をサポートしていない場合、メソッドから およびメソッドからAConnectionNotFoundExceptionがスローされます。registerConnectionregisterAlarm

于 2012-09-05T05:51:39.203 に答える