stream_socket_client(): unable to connect to ssl://gateway.sandbox.push.apple.com:2195 (Connection refused)

后端 未结 2 1235
孤城傲影
孤城傲影 2021-01-21 02:23

I made a php file for sending notification to the apple iphone users. Its working for the other server but not working in my server. I have made the .pem file accurately and als

2条回答
  •  小鲜肉
    小鲜肉 (楼主)
    2021-01-21 02:37

    Try this code and make sure your certificate mentioned in server path is particularly ck.pem

        $deviceToken = 'f672c26cbfb279e45c1b66d0ddb738d8043c785d5bb8dd20a72d52ae88d4a604';
        // Put your private key's passphrase here:
        $passphrase = 'pushchat';
    
        // Put your alert message here:
        $message = 'Hello';
    
        ////////////////////////////////////////////////////////////////////////////////
    
        $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);
    
        }
    

提交回复
热议问题