如何获取SMPP消息发送确认

时间:2015-05-28 07:27:43

标签: c# sockets smpp sourceforge


我有一个内部SMPP服务器,我正在使用EASYSMPP from sourceforge.net发送短信。 这里的问题是我无法确定是否确切的状态 1)请求是否被发送到服务器,
2)如果是,那么消息的状态是什么,意味着是否交付。

我知道他们有一些叫做返回消息ID的东西,但事实证明这对我来说是非常零星的。
我收到的消息很少(来自日志):

1)不允许发送或接收数据的请求,因为套接字未连接(当使用sendto调用在数据报套接字上发送时)没有提供地址 2)在getsockopt或setsockopt调用中指定了未知,无效或不受支持的选项或级别 3)已建立的连接被主机中的软件中止 4)有时我甚至卡在sentEvent.WaitOne(waitForResponse, true)

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

花了几个小时的调试和阅读文档,我发现在EASYSMPP中,有一个字节类型的变量“askforReciept”可以帮助你读取传递的消息ID。

此外,与连接问题相关,SMPP并不意味着过于频繁地关闭和重新打开连接。在我的场景中,每次我发送一批错误并导致连接问题的SMS时,我都在关闭连接。 要检查连接状态,可以使用查询链接。

感谢那些花时间让我解决这个问题的人。