3

PushSharp を使用して C# で Apple プッシュ通知を送信しています。本番用の .pem ファイルとそのパスワードがあります。以下は私のコードスニペットです。常にこのエラーが発生します..

"A call to SSPI failed, see inner exception. ---> System.ComponentModel.Win32Exception: The message received was unexpected or badly formatted-" 

また

"System.IO.IOException: Authentication failed because the remote party has closed the transport stream."

私はネットで利用可能なほとんどすべてのコードを試しました.MoonAPNSを試しても同じエラーでした.カスタムスクリプトでもこのSSPI障害エラーが発生しています. 同じ .pem ファイルを使用し、php スクリプトを実行して、同じサーバーから APN にプッシュ通知を送信します。

var push = new PushBroker();
var appleCert = File.ReadAllBytes(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ck.pem"));
 push.RegisterAppleService(new ApplePushChannelSettings(false, appleCert, "pwd")); 
 push.QueueNotification(new AppleNotification()
                                           .ForDeviceToken("XXXXXXXXXXXXXXX")
                                           .WithAlert("Hello World!")
                                           .WithBadge(7)
                                           .WithSound("sound.caf"));


                LogManager.Info("Waiting for Queue to Finish..");
                push.StopAllServices();

助けてください よろしくお願いします

4

1 に答える 1

1

あなたの c# が間違っている可能性があると思います。確認するには、.pem ではなく、以下のコードをテストとして使用して p12 証明書を試してみてください...

    Boolean bsandbox = true;
    string p12fileName =AppDomain.CurrentDomain.BaseDirectory + "yourCert.p12";
    string p12password = "1234";

    string deviceID1 = "2909b25e0c699b2dc4864b4b9f719e67aac7e0fab791a72a086ffb788ba28f6a"; //
    string msg = "This is the message sent at : ";
    string alert = "Hello world at " + DateTime.Now.ToLongTimeString();
    int badge = 1;
    string soundstring = "default";
    var payload1 = new NotificationPayload(deviceID1, alert, badge, soundstring);
    payload1.AddCustom("custom1", msg); 

    var notificationList = new List<NotificationPayload> { payload1 };



    var push = new PushNotification(bsandbox, p12fileName, p12password);

    var rejected = push.SendToApple(notificationList);`
于 2013-09-03T06:24:22.920 に答える