2015-05-28 73 views
2


我有一個內部SMPP服務器,我正在使用EASYSMPP from sourceforge.net發送短信。 這裏的問題是,我無法得到確切的狀態是否
1)請求是否被髮送到服務器,
2)如果是,消息的狀態是什麼,意味着是否發送。如何獲得SMPP消息已發送確認

我知道他們有一些東西叫做返回消息ID,但這對我來說證明是非常零星的。
很少的消息的,我得到(從日誌)爲:

1)的請求,以發送或接收數據被不允許的,因爲在插座沒有被連接和(使用sendto調用發送數據報套接字時)沒有提供地址 2)在getsockopt或setsockopt調用中指定了未知,無效或不支持的選項或級別 3)建立的連接被主機中的軟件中止
4)有時我甚至會卡住在sentEvent.WaitOne(waitForResponse, true)

任何幫助,高度讚賞。

回答

2

花費數小時的調試和閱讀文檔,我發現在EASYSMPP中,有一個字節類型的變量「askforReciept」,它可以幫助您讀取傳遞的消息ID。另外,與連接問題有關,SMPP並不意味着要頻繁關閉和重新打開連接。在我的情況下,每當我發送一批錯誤的SMS並導致連接問題時,我都會關閉連接。 要檢查連接狀態,可以使用查詢鏈接。

感謝那些花時間讓我解決這個問題的人。