2012-06-13 75 views
1

我目前正在開發一個需要能夠攔截短信的黑莓5.0應用程序。我正嘗試將短信發送給模擬器​​。我已經開始討論這個建議,以運行模擬器的兩個單獨實例,並使用兩個模擬器上的SMSDemo示例應用程序將SMS從一個模擬器實例發送到另一個。黑莓短信攔截,發送短信到模擬器

我跑從兩個不同的工作目錄仿真器的兩個實例如下:

"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 

兩個實例啓動,但是當我試圖把它永遠不會到達第二個仿真短信。

我禁用了Windows防火牆 - 不變。

當我爲UDP的netstat我可以看到端口6000和6001偵聽。

任何意見,將不勝感激。

+0

您是否嘗試過使用[BlackBerry MDS Simulator](http://docs.blackberry.com/en/developers/deliverables/5716/The_BB_MDS_Simulator_447180_11.jsp)運行該程序?我不確定是否會發生衝突,但這是一件容易的事情。 – Nate

+0

Nate,我試過了,沒有運行MDS模擬器,沒有改變 – Will777

+0

我使用Wireshark來嗅探UDP流量。我可以看到正在發送的數據報。非常奇怪的是1.0.0.127的目標地址 - 看起來像localhost的交換訂單版本。這是否是沒有到達第二個模擬器的原因? – Will777

回答

1

我終於找到了問題的解決方案。這是:

使用Wireshark來嗅探模擬器的UDP廣播我注意到目標地址是不正確的 - 它的「1.0.0.127」。該地址不可路由,因此從一個仿真器發送的數據報絕不會到達其他仿真器。

我可能錯過了它,但是當啓動模擬器指定目標地址時,我看不到任何要設置的命令行參數。

我將我的開發筆記本電腦更改爲使用硬編碼IP地址而不是DHCP。然後我添加了1.0.0.127作爲我的TCP/IP設置的另一個IP地址。地址現在可路由。

重新啓動兩個仿真程序而不更改端口設置(/ sms-source-port和/ sms-destination-port),它工作正常。我不需要使用SMSDemo應用程序。我使用了正常的黑莓消息應用程序。

我希望這可以幫助其他人經歷同樣的問題。