この無料のライブラリを使用して、PHP経由でSMPP接続を確立しています。メッセージを受信するために、例に示す次のコードを使用しています。
<?php
$GLOBALS['SMPP_ROOT'] = dirname(__FILE__); // assumes this file is in the root
require_once $GLOBALS['SMPP_ROOT'].'/protocol/smppclient.class.php';
require_once $GLOBALS['SMPP_ROOT'].'/transport/tsocket.class.php';
// Construct transport and client
$transport = new TSocket('your.smsc.com',2775);
$transport->setRecvTimeout(60000); // for this example wait up to 60 seconds for data
$smpp = new SmppClient($transport);
// Activate binary hex-output of server interaction
$smpp->debug = true;
// Open the connection
$transport->open();
$smpp->bindReceiver("USERNAME","PASSWORD");
// Read SMS and output
$sms = $smpp->readSMS();
echo "SMS:\n";
var_dump($sms);
// Close connection
$smpp->close();
?>
ブラウザウィンドウでスクリプトを実行し、指定された60秒以内に携帯電話からSMSを送信すると、完全に機能しますが、長い間機能させる方法がよくわかりません。つまり、実際の状況のように、SMSを受信したときにバックグラウンドで実行し、いくつかのイベントをトリガーする必要がある場合です。それ、どうやったら出来るの?これで、SMSを取得するために毎回ページを更新する必要があり、それは1回しか機能しません。前もって感謝します。