Visualizzazione risultati 1 fino 4 di 4

Discussione: Connessione SSL per invio notifiche apple

  1. #1
    Guest

    Question Connessione SSL per invio notifiche apple

    Ciao a tutti,
    sul mio spazio vorrei mettere su un servizio che mi permette di inviare le notifiche di Apple (APNS), tramite uno script del genere:

    Codice:
    <?php
    
    // Put your device token here (without spaces):
    $deviceToken = '9dbfd12ab2c3eb90f9b324ec4af7436cd3cb07b1eb3dd87efb648ea4b218d9ee';
    
    // Put your private key's passphrase here:
    $passphrase = 'mypassword';
    
    // Put your alert message here:
    $message = 'My First Notification!';
    
    ////////////////////////////////////////////////////////////////////////////////
    
    $ctx = stream_context_create();
    stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem');
    stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);
    
    // Open a connection to the APNS server
    $fp = stream_socket_client(
    	'ssl://gateway.sandbox.push.apple.com:2195', $err,
    	$errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
    
    if (!$fp)
    	exit("Failed to connect: $err $errstr" . PHP_EOL);
    
    echo 'Connected to APNS' . PHP_EOL;
    
    // Create the payload body
    $body['aps'] = array(
    	'alert' => $message,
    	'sound' => 'default'
    	);
    
    // Encode the payload as JSON
    $payload = json_encode($body);
    
    // Build the binary notification
    $msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload;
    
    // Send it to the server
    $result = fwrite($fp, $msg, strlen($msg));
    
    if (!$result)
    	echo 'Message not delivered' . PHP_EOL;
    else
    	echo 'Message successfully delivered' . PHP_EOL;
    
    // Close the connection to the server
    fclose($fp);
    Il certificato ck.pem è presente e corretto; lo script, eseguito, restituisce il messaggio "Connected to APNS Message successfully delivered", ma non arriva la notifica, che invece arriva correttamente quando provo lo stesso script da un mio server locale... Per questo vorrei sapere se sui server di altervista c'e' qualche problema o impedimento per l'esecuzione di uno script del genere... per la connessione ssl o su quella porta... o non so...
    Grazie per qualunque eventuale chiarimento.
    Ciao

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    A quanto mi sembra di capire, lo script in questione tenta la connessione ad un server remoto con porta di destinazione 2195. Su AlterVista è possibile instaurare connessioni verso le porte 80 e 443.

  3. #3
    Guest

    Predefinito

    ok, grazie... e non c'e' alcun modo di aprire quella porta, tramite qualche espansione o upgrade che sia?

  4. #4
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Attualmente no.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •