Hallo zusammen,
ich versuche per PHP Push Nachrichten zu versenden. Das funktioniert soweit auch ohne Probleme. Mich macht nur eine Sache stutzig. Bisher war es so das wenn ich eine Push Nachricht mit einem Produktiven Zertifikat an einen Device Token der von einem Testgerät schicke, dann bricht die SSL Verbindung direkt ab. Soweit so gut. Bei folgendem Code Beispiel bricht der aber in dem Fall nicht ab. Ideen warum?
Code:
Alles anzeigen
Schicke ich an einen Dev Token eine produktive Nachricht gibt fwrite trotzdem ein true zurück. Warum?
Und die Variablen Passphrase, Certificate,... sind alle korrekt gefüllt.
Gruß Tuni
ich versuche per PHP Push Nachrichten zu versenden. Das funktioniert soweit auch ohne Probleme. Mich macht nur eine Sache stutzig. Bisher war es so das wenn ich eine Push Nachricht mit einem Produktiven Zertifikat an einen Device Token der von einem Testgerät schicke, dann bricht die SSL Verbindung direkt ab. Soweit so gut. Bei folgendem Code Beispiel bricht der aber in dem Fall nicht ab. Ideen warum?
Code:
PHP-Quellcode
- if ($open == false) {
- $streamContext = stream_context_create();
- stream_context_set_option($streamContext, 'ssl', 'local_cert', WWW_ROOT . 'files/certificates/' . $certificate);
- stream_context_set_option($streamContext, 'ssl', 'passphrase', $passphrase);
- $fp = stream_socket_client(
- NotificationsController::$_ENVIROMENTS[$enviroment],
- $errorNumber,
- $errorString,
- 60,
- STREAM_CLIENT_CONNECT,
- $streamContext);
- if ($errorString) {
- $open = false;
- break;
- }
- else {
- $open = true;
- }
- }
- if (!fwrite($fp, $payload)) {
- $status[$ids[$counter]] = '1';
- $buffer=fgets($fp);
- if($buffer) {
- $text=unpack("c2chars/Nint",$buffer);
- if($text['chars1'] == 8) {
- $open = false;
- $status[$ids[$counter]] = '8';
- fclose($fp);
- }
- }
- }
- else {
- $status[$ids[$counter]] = '0';
- }
Schicke ich an einen Dev Token eine produktive Nachricht gibt fwrite trotzdem ein true zurück. Warum?
Und die Variablen Passphrase, Certificate,... sind alle korrekt gefüllt.
Gruß Tuni