【发布时间】:2016-09-21 11:50:03
【问题描述】:
我正在研究 SMPP 协议,并尝试用 golang 代码和 selenium smpp 模拟器实现一个简单的发送器。我从 github 找到了一个包“CodeMonkeyKevin/smpp34”。 但是我无法设置“user_message_reference”可选参数。
我通过添加这些行(就在写操作之前)稍微修改了“transmitter.go”文件中的“SubmitSm”函数:
err = p.SetTLVField(tag, length, []byte(value))
if err != nil {
fmt.Println("Set TLV failed")
return 0, err
}
但这不起作用。
我提供了值 tag=0516(int 等效于 0x0204 user_message_reference)length=02 和 value="91"。
在我可以在 SMSC 模拟器中看到“tag=516,len=2,value=0x3931”的响应中,值字段似乎不适合我;响应中的“message_id”仍然通过在最后一个 message_id 上加 1 来继续其序列
有人可以帮我将“user_message_reference”可选参数设置为“submit_sm”请求吗?
提前致谢。
【问题讨论】:
-
“无法设置 user_message_reference 可选参数”是什么意思?请举例说明您尝试了什么、预期会发生什么以及您实际看到了什么。
-
我在 setTVLField 函数中提供了值 tag=0516(int 等效于 0x0204 user_message_reference)length=02 和 value="91"。我可以看到 "tag=516,len=2,value=0x3931" 出现在 SMSC 模拟器中,但该值似乎不适合我;并且响应中的 message_id 仍然通过将最后一个 message_id 加 1 来继续其序列。
-
@JimB 有帮助吗?