Frage

Ich versuche, Benachrichtigungen an mein iPhone zu schieben, die ich erfolgreich mit PHP gemacht habe. Aber ich bin nicht in der Lage eine Socket-Verbindung zu Apples Push-Server # unter Verwendung von C zu öffnen. Ich glaube nicht, dass es ein Problem mit dem Zertifikat selbst, da ich in der Lage bin, um erfolgreich Push-Benachrichtigungen dieses Code in PHP:

$ctx = stream_context_create();

stream_context_set_option($ctx, 'ssl', 'local_cert', 'cert.pem');

$fp = stream_socket_client('ssl://gateway.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx);

fwrite($fp, $msg);

Wenn ich versuche, in C # authentifizieren Sie den Code unten verwenden, schließt Apple die Verbindung sofort. Ich erhalte diese Ausnahme: „Kann nicht Daten aus der Transportverbindung lesen. Eine vorhandene Verbindung wurde vom Remotehost geschlossen“

sslStream.AuthenticateAsClient(hostname, certificatesCollection, SslProtocols.Default, false);

Ich habe im Grunde alle meine Code von dieser Frage: C # iPhone Push-Server

dachte ich, es könnte ein Problem mit dem Zertifikat sein, da ich nicht glaube, C # Sie .PEM Dateien programmatisch nur laden. Früher habe ich OpenSSL es in eine PFX-Datei zu konvertieren, aber ich immer noch das gleiche Problem haben.

Jede Idee, wie kann ich dieses (mögliches Zertifikat) Problem beheben?

War es hilfreich?

Lösung

Dies ist eigentlich ein Problem zu sein mit .NET 2.0 stellte sich heraus. Nicht sicher genau das, was es ist, aber ich in Visual Studio 2008 erstellt und alles hat super funktioniert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top