salut je travaille sur les services Web utilisant PHP. dans ce que je dois générer une notification sur l'appareil en utilisant APNS mais son erreur suivante donne incapable de se connecter à ssl: //gateway.push.apple.com: 2195impossible de se connecter à ssl: //gateway.push.apple.com: 2195
mon code suit plz help me
<?php
echo '<pre>';
echo 'APNCRON: Started at '.date("Y-m-d H:i:s")."\n";
$apnsHost = 'gateway.push.apple.com'; //gateway.push.apple.com //gateway.sandbox.push.apple.com
$apnsPort = 2195;
$apnsCert = 'apns-dev.pem'; //replace with the appropriate production cert.
//include config.php here
$con = mysql_connect('localhost','sunil_myapns','fIgBMQ?(G?T_') or die("Could not connect to host.");
$database = mysql_select_db('sunil_myapns',$con) or die("Could not find database.");
/**
loop the result
send payload
*/
/*$sql = 'SELECT p.dev_token,
(SELECT COUNT(id) FROM tbl_news s WHERE s.created_date > p.last_access_time) AS cnt
FROM
tbl_apn p';*/ //This sql to give you an idea
//echo $sql;
$sql = 'SELECT * from person';
//echo $sql;
$result = mysql_query($sql);
if(!result)
{
echo 'APNCRON: Error while executing the query :'.mysql_error();//exit;
}
$rows = mysql_num_rows($result);
//echo $noDev2Push;exit;
if(!$rows)
{
echo 'APNCRON: No update'; exit;
}
$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'tcp', 'local_cert', $apnsCert);
$apns = stream_socket_client('ssl://' . $apnsHost . ':' . $apnsPort, $error, $errorString, 120, STREAM_CLIENT_CONNECT, $streamContext);
$i=0;
while($row = mysql_fetch_array($result))
{
$deviceToken = 'abcbc12f8d7006be4a544237428f071697bb342608f6408af725ca94ae848ee5'; // remember that devToken is 64 char string
$cntUpdate = $row['id'];
$payload = array();
$payload['aps'] = array(
//'alert' => '', //we are not sending popup alerts
'badge' => (int) $cntUpdate,
'sound' => 'default'
);
$payload = json_encode($payload);
$i++;
//echo $payload; echo "\n";
$apnsMessage = chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $deviceToken)) . chr(0) . chr(strlen($payload)) . $payload;
//echo $apnsMessage; echo "\n";
fwrite($apns, $apnsMessage);
}
fclose($apns);
echo 'APNCRON: Completed at '.date("Y-m-d H:i:s")."\n";
echo 'Sent APN to '.$i.' device(s) ';//.date("Y-m-d H:i:s")."\n";
//socket_close($apns);
?>
merci d'avance
Pouvez-vous faire un si (! $ Apns) echo "$ errorString
"; après la ligne $ apns = .. et afficher les résultats ur ici? –
lorsqu'il est mis le code ci-dessus, il donne l'erreur Connexion refusée –
Salut, Avez-vous résolu ce problème? Pouvez-vous s'il vous plaît suggérer quelle étape vous avez prise? – Dilip