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 秒后没有收到任何信息,则表示连接已断开。
这是超时的一般原则。
如何在与 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 秒后没有收到任何信息,则表示连接已断开。
这是超时的一般原则。