Smpp 在 php 中接收短信

Smpp receive sms in php

如何在与 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();

}
?>

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

这是超时的一般原则。