2013-02-13 91 views
0

美好的一天傢伙!我目前正在使用通過SMPP發送消息的JMS隊列(使用Logica SMPP庫)來開發系統。SMPP可選參數

我的問題是,我需要將內置ID(即我們管理系統內)的消息序列號,這樣,當在異步模式下我收到響應,正確的行動可以採取針對特定消息。

我試圖實現的第一個選項是使用可選參數,如SMPP 3.4所建立的。我沒有收到響應中的可選參數(我讀過響應根據提供者附加了可選參數)。

第二種方法是在內存中保留這些消息的映射,直到收到它們的響應(它使內存飽和,因此它是不可行的)。

其他人能想到一個可行的解決方案,將異步SMPP環境中消息的內部系統ID與其序列號相關聯嗎?

謝謝你的時間。

回答

0

您需要保留seq_nr的映射 - 內部消息ID,並在您從SMSC收到異步響應後儘快從此映射中刪除。 它不應該飽和內存,因爲它只會保留機上消息,但是您需要週期性地遍歷地圖並刪除孤立的條目(因爲有時您不會從smsc獲得響應)。