Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用SMPP和C从SMSC获取交付报告#_C#_Smpp - Fatal编程技术网

C# 如何使用SMPP和C从SMSC获取交付报告#

C# 如何使用SMPP和C从SMSC获取交付报告#,c#,smpp,C#,Smpp,我正在VS2010中使用SMPP客户端和C向SMSC发送短信。我只是不知道如何获取已发送邮件的传递报告。我使用QuerySM获取消息的状态,但即使我向未使用的号码发送短信,它也会返回OK状态 这是我获取交货报告的代码: QuerySm deliver = new QuerySm(_MessageID, SrcTon, SrcNpi, SrcAddr); client.Query(deliver); 您使用的SMSC可能不支持query\u sm,在这种情况下,他们可能为每个请求实现了一个占位符

我正在VS2010中使用
SMPP
客户端和
C
向SMSC发送短信。我只是不知道如何获取已发送邮件的传递报告。我使用
QuerySM
获取消息的状态,但即使我向未使用的号码发送短信,它也会返回OK状态

这是我获取交货报告的代码:

QuerySm deliver = new QuerySm(_MessageID, SrcTon, SrcNpi, SrcAddr);
client.Query(deliver);

您使用的SMSC可能不支持
query\u sm
,在这种情况下,他们可能为每个请求实现了一个占位符
query\u sm\u resp
PDU,状态为OK


您可以将
submit\u sm
中的
registered\u delivery
标志设置为1,并侦听传入的
delivery\u sm
PDU,这样您就可以从他们那里获取传递报告,而不是查询他们发送的每封邮件。

我通过使用
querysrep
获取传递报告解决了我的问题

这是用于检查SMS消息传递状态的代码:

QuerySmResp qresp = client.Query(_MessageID, SrcTon, SrcNpi, SrcAddr);
string _Delivery = qresp.MessageState.ToString();
MessageState
属性将显示消息的状态,其成员包括:

没有

途中

交付

过期

删除

无法交付

接受

不为人知


被拒绝

不,对不起,我不做C#,我只知道SMPP。我可以问一下您使用的是哪个库吗?@Oswin我使用的是Inetlab.SMPP.dll