使用客户端https://github.com/alexandr-mironov/php8-smpp。但是在阅读交付报告时出现错误“ string(27) “ESME Already in Bound State”。向 smpp 专家寻求帮助。
<?php
use smpp\Client as SmppClient;
use smpp\transport\Socket;
require_once 'vendor/autoload.php';
$transport = new Socket(['xxxxxxxxxx'], xxxxx);
$transport->setRecvTimeout(60000);
$transport->open();
$smppClient = new SmppClient($transport);
$smppClient->debug = true;
$transport->debug = true;
try {
$smppClient->bindReceiver('xxxxxxxxx', 'xxxxxx');
$output = $smppClient->readSMS();
} catch (Exception $e) {
$output = $e->getMessage();
}
var_dump($output);
向 smpp 专家寻求帮助。
当您已经有绑定连接时,您会收到错误“已处于绑定状态”。让我解释一下。
bind_transmitter/bind_transciever(从您的服务器传出) bind_response(传入您的服务器) bind_tranmitter/bind_transciever(从您的服务器传出) ESME_RALYBND(传入您的服务器)
也许你应该关闭与 $smppClient->close(); 再次绑定之前。
请注意,这个答案来自常识,因为我并没有真正掌握 smpp 和 php。