我有一个内部SMPP服务器,我正在使用EASYSMPP from sourceforge.net发送短信。
这里的问题是我无法确定是否确切的状态
1)请求是否被发送到服务器,
2)如果是,那么消息的状态是什么,意味着是否交付。
我知道他们有一些叫做返回消息ID的东西,但事实证明这对我来说是非常零星的。
我收到的消息很少(来自日志):
1)不允许发送或接收数据的请求,因为套接字未连接(当使用sendto调用在数据报套接字上发送时)没有提供地址
2)在getsockopt或setsockopt调用中指定了未知,无效或不受支持的选项或级别
3)已建立的连接被主机中的软件中止
4)有时我甚至卡在sentEvent.WaitOne(waitForResponse, true)
非常感谢任何帮助。
答案 0 :(得分:2)
花了几个小时的调试和阅读文档,我发现在EASYSMPP中,有一个字节类型的变量“askforReciept”可以帮助你读取传递的消息ID。
此外,与连接问题相关,SMPP并不意味着过于频繁地关闭和重新打开连接。在我的场景中,每次我发送一批错误并导致连接问题的SMS时,我都在关闭连接。 要检查连接状态,可以使用查询链接。
感谢那些花时间让我解决这个问题的人。