我試圖製作一個Windows桌面smpp客戶端,並且它的連接和發送情況良好,除了一個額外字符(¿)添加到最後的錯誤我在手機上收到的信息內容。SMPP客戶端在郵件末尾添加了一個¿
所以我發送「測試」,但我的手機收到「測試」。下面是PDU對象的內容,它就會發出之前:
size :58
sequence :2
cmd id :0x4
cmd status:0x0 : No Error
00000000 00 00 00 3a 00 00 00 04 00 00 00 00 00 00 00 02 |...:............|
00000010 00 05 00 74 65 73 74 66 72 6f 6d 00 01 01 34 34 |...testfrom...44|
00000020 37 37 37 37 37 37 37 37 37 37 00 00 00 00 00 00 |7777777777......|
00000030 00 00 00 00 05 74 65 73 74 00 |.....test.|
0000003a
我使用這個C++ SMPP庫爲基礎:
https://github.com/onlinecity/cpp-smpp
我不得不做出一些細微的變化讓它在Windows上工作,但我不認爲任何可能影響到這一點的變化。
其他人使用smpp服務器上的其他帳戶運行測試,而他們的測試添加@符號代替。
任何想法可能導致這種情況?謝謝!
如果你不得不改變這工作與Windows,它可能是與編碼的問題嗎?它可以解釋這個意想不到的特徵。金髮女郎圖書館? – Dportology
我對編碼知之不多,但肯定不會,但是我會對發送的實際數據包進行調查,這是來自包檢查的消息內容的十六進制:74 65 73 74 00它表示消息長度= 5,即比必要的時間長一些,但最後的字符只是00,出於某種原因,這可能會被解釋爲一個奇怪的字符? – GemmaB89
我不是專家,我想,哈哈。但我仍然看着編碼。您的手機可能會使用UTF-8編碼,而Windows有自己的編碼方案。在兩者之間遇到問題時,我遇到了缺少字符的問題。祝你好運! – Dportology