Smpp在php中接收短信

时间:2016-06-08 05:19:16

标签: php smpp

在与SMSC建立持久连接时,如何连续运行以下代码。这里的setRecvTimeout(60000)有什么明确的含义。

   <?php   //Receive sms

require_once 'smppclient.class.php';
require_once 'sockettransport.class.php';

// Construct transport and client
$transport = new SocketTransport(array('smpp.provider.com'),3600);
$transport->setRecvTimeout(60000); // for this example wait up to 60 seconds for data

for(;;){
$smpp = new SmppClient($transport);

// Activate binary hex-output of server interaction
$smpp->debug = true;
$transport->debug = true;

// Open the connection
$transport->open();
$smpp->bindReceiver("USERNAME","PASSWORD");

// Read SMS and output
$sms = $smpp->readSMS();

$read = $sms -> message;// reads the message
echo $read."\n";

$phone = $sms -> source-> value; //gets the phone number
echo $phone."\n"; 

echo "SMS:\n";
//var_dump($sms);

// Close connection
$smpp->close();

}
?>

1 个答案:

答案 0 :(得分:0)

这只是意味着将内部超时设置为60秒。因此,如果60秒后没有收到任何信息,则表示连接已断开。

这是超时的一般原则。