在与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();
}
?>
答案 0 :(得分:0)
这只是意味着将内部超时设置为60秒。因此,如果60秒后没有收到任何信息,则表示连接已断开。
这是超时的一般原则。