как непрерывно запускать следующий код при установлении постоянного соединения с 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 секунд ничего не получится, значит, соединение отключено.
Это общий принцип тайм-аута.
Других решений пока нет …