2012-10-02 126 views
3

我正在嘗試使用logica SMPP API實現SMPP客戶端。將Logica SMPP異步模式下的請求響應相關聯

我面臨的問題是,如何在異步模式下將請求pdu與響應pdu進行映射?我以爲我可以使用CommandId和序列號來做到這一點。但是由logica模擬器返回的CommandId不等於請求CommandId。

例子:

Enquire Link Comman ID (Request) = 21 
Enquire Link Comman ID (async response from simulator) = -2147483627 

請告訴我,我怎麼可以在異步模式下響應事件請求事件映射。

回答

0

查看protocol definition PDF第16頁的表6.1,可以發現用於關聯的字段不是CommandID(定義了請求的類型),而是Sequence No

從文獻:

序列號允許請求和響應相關聯。 此參考號碼的分配由發起人負責,他應確保該號碼對於每個提交的請求都是單調增加的 。關聯的響應數據包 必須保留此字段。

+0

感謝您的回覆。在映射過程中,我必須確定事件,因爲它們將是多個事件的響應,這就是爲什麼我需要CommanID。 – Sas

+0

從Doc我得到了答案。我所需要做的就是取消設置31位(通常,響應命令標識符將與相應的請求命令標識符相同,但是 的位31已設置。) – Sas