1

私は現在、SMS メッセージを傍受できるようにする必要がある Blackberry 5.0 アプリケーションを開発しています。エミュレータに SMS を送信しようとしています。私は、エミュレーターの 2 つの別個のインスタンスを実行し、両方のエミュレーターで SMSDemo サンプル アプリケーションを使用して、一方のエミュレーター インスタンスから他方のエミュレーター インスタンスに SMS を送信するという提案に出くわしました。

次のように、2 つの別々の作業ディレクトリからエミュレータの 2 つのインスタンスを実行します。

"C:\java\blackberry\eclipse\plugins\net.rim.ejde.componentpack5.0.0_5.0.0.36\components\simulator\fledge.exe" /app="C:\java\blackberry\eclipse\plugins\net.rim.ejde.componentpack5.0.0_5.0.0.36\components\simulator\Jvm.dll" /sms-source-port=6000 /sms-destination-port=6001

"C:\java\blackberry\eclipse\plugins\net.rim.ejde.componentpack5.0.0_5.0.0.36\components\simulator\fledge.exe" /app="C:\java\blackberry\eclipse\plugins\net.rim.ejde.componentpack5.0.0_5.0.0.36\components\simulator\Jvm.dll" /sms-source-port=6001 /sms-destination-port=6000

両方のインスタンスが起動しますが、SMS を送信しようとすると、2 番目のエミュレーターに届きません。

Windows ファイアウォールを無効にしました - 変更はありません。

UDP の netstat を実行すると、ポート 6000 と 6001 の両方がリッスンしていることがわかります。

アドバイスをいただければ幸いです。

4

1 に答える 1

1

私はついに問題の解決策を見つけました。ここにあります:

Wireshark を使用してエミュレータからの UDP ブロードキャストを盗聴しましたが、宛先アドレスが正しくないことに気付きました - その「1.0.0.127」。このアドレスはルーティングできないため、一方のエミュレータから送信されたデータグラムが他方のエミュレータに到達することはありません。

見逃したかもしれませんが、エミュレーターを起動して宛先アドレスを指定するときに設定するコマンドライン引数が表示されません。

DHCP の代わりにハードコーディングされた IP アドレスを使用するように、開発用ラップトップを変更しました。次に、別の IP アドレスとして 1.0.0.127 を TCP/IP 設定に追加しました。アドレスがルーティング可能になりました。

ポート設定 (/sms-source-port および /sms-destination-port) を変更せずに両方のエミュレーターを再起動すると、正常に動作しました。SMSDemo アプリケーションを使用する必要はありませんでした。通常の Blackberry メッセージング アプリケーションを使用しました。

これが、同じ問題を経験している他の人に役立つことを願っています。

于 2012-06-15T14:18:00.743 に答える