お世話になっております。
###iOSでのPush通知のことで質問です。
以下のPHPファイルでAPNSへ通知リクエストをおくっているのですが、
/--/
echo $result;
/--/
の部分を見てみると「2桁の数字」が返ってきているのですが
この数字はどんな意味なのでしょうか?
どなたかご教授くださればと思います。
それと以下のPHPの修正点などもいただけたら幸いです。
どうかよろしくお願いします。
php
1<?php 2 3//APNSへの接続関数 4function connectAPNS($sslclient,$pem_path,$passphrase){ 5 6 $ctx = stream_context_create(); 7 stream_context_set_option($ctx, 'ssl', 'local_cert', $pem_path); 8 stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase); 9 10 $fp = stream_socket_client( 11 $sslclient, $err, 12 $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx); 13 14 if(!$fp){ 15 echo '接続エラーになりました。一秒後に再読み込みします。'.PHP_EOL; 16 sleep(1); 17 $fp = connectAPNS($sslclient,$pem_path,$passphrase); 18 return $fp; 19 20 }else{ 21 echo 'APNSに接続が完了しました'.PHP_EOL; 22 return $fp; 23 } 24} 25 26//送信処理 27$passphrase = 'xxxxxxxxxxxx'; 28$pem_path = 'xxx.pem'; 29$sslclient = 'ssl://gateway.sandbox.push.apple.com:2195'; 30$detail = $_POST['alert']; 31$dtoken = $_POST['dtoken']; 32 33 34//APNSに接続 35$fp = connectAPNS($sslclient,$pem_path,$passphrase); 36 37//送信するぼでぇを作成 38$body['aps'] = array( 39 'alert' => $_POST['alert'], 40 'sound' => 'default', 41 'badge' => 1, 42); 43 44//ぼでぇをじぇーそん化 45$payload = json_encode($body); 46$json_size = strlen($payload); 47$size = 0; 48 49//var_dump($dtoken); 50if(is_null($dtoken) || $dtoken == "null" ){ 51 52 echo 'デバイストークンがありません' . PHP_EOL; 53 exit(); 54} 55 56 57$msg = chr(0) . pack('n',32) . pack('H*',$dtoken) . pack('n',$json_size) .$payload; 58$msg_size = strlen($msg); 59$result = fwrite($fp, $msg, $msg_size); 60 61/*ーーーーー*/ 62echo $result; 63/*ーーーーー*/ 64 65if(!$result){ 66 echo '送信できませんでした。' . PHP_EOL; 67}else{ 68 echo 'io'. PHP_EOL; 69} 70 71$size += $msg_size; 72if($size >= 5120){ 73 echo '通信容量を超えてしまったので再接続します。'. PHP_EOL; 74 fclose($fp); 75 sleep(1); 76 $fp = connectAPNS($sslclient,$pem_path,$passphrase); 77 echo '再接続しました'.PHP_EOL; 78 $size = 0; 79} 80fclose($fp); 81?> 82
あなたの回答
tips
プレビュー