2013-11-04 2 views
0

장치 토큰이있는 장치에 푸시 알림을 보내려면 APNS에 연결하려고합니다. 내 PHP 파일을 출력하는 "13 #errstrn을 연결하지 못했습니다"내가 밀어하려고하는 텍스트를 제출하면. 이 문제를 해결하는 방법에 대한 제안 사항이 있으십니까?사과 푸시 알림 서버에 연결할 수없고 오류가 계속 발생합니다.

<?php 
$message = $_POST["push"]; 
echo $message; 


if($message){ 
    $deviceToken = '*device token here'; 
    $message = stripslashes($message); 
    $payload = '{ 
        "aps": 
         { "alert":"'.$message.'", 
          "badge":1, 
          "sound":"bingbong.aiff" 
         } 
       }'; 

    $ctx = stream_context_create(); 
    stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem'); 
    stream_context_set_option($ctx, 'ssl', 'passphrase', 'passphrase_here'); 
    $fp = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195', $err, $errstr, 30, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx); 
    if(!$fp){ 
     print "Failed to connect $err #errstrn"; 
     return; 
    } 
    else{ 
     print "Notification sent!"; 
    } 

    $devArray = array(); 
    $devArray[]= $deviceToken; 

    foreach($devArray as $deviceToken){ 
     $msg = chr(0) . pack("n",32) . pack('H*', str_replace(' ', '', $deviceToken)) . pack("n", strlen($payload)) . $payload; 
     print "sending message: " . $payload . "n"; 
     fwrite($fp, $msg); 
    } 
    fclose($fp); 
} 
?> 
+0

에 SSL 터널이 인증서를 사용하여 만들 수 있습니다 여부를 확인 했습니까? 네트워크 문제 일 수 있습니다. – Raptor

답변

관련 문제