APNS APPLE C#sslstream响应

时间:2012-02-10 06:32:17

标签: c# iphone apple-push-notifications apns-sharp

我想使用Apple的APNS和c#服务。服务运行完美。 我想要的是Apple的反馈意见,如果将平底锅送到苹果公司。 所以我需要的是来自sslstream的反馈。

有人可以帮助我并告诉我如何从sslstream中的服务器获取反馈吗?

提前致谢

这是我的代码如何将平底锅发送到苹果服务器:

    TcpClient client = new TcpClient(hostname, APNS_PORT);
    SslStream sslStream = new SslStream(
        client.GetStream(),
        false,
        new RemoteCertificateValidationCallback(ValidateServerCertificate),
        null
        );

     sslStream.AuthenticateAsClient(hostname, certificatesCollection, SslProtocols.Tls, true);

     sslStream.Write(array);
     sslStream.Flush();

2 个答案:

答案 0 :(得分:0)

从这个苹果链接: http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingWIthAPS/CommunicatingWIthAPS.html

  

如果您发送通知并且APN发现通知格式错误   或者以其他方式无法理解,它先返回错误响应包   断开连接。 (如果没有错误,APN不会返回   任何事情。)图5-3描述了错误响应的格式   分组。

我假设你刚从流中读回来,但是我还没有完成这项工作。 我试图发送格式错误的请求以响应数据包,但是我的读取呼叫被阻止,似乎在等待ANPS响应。

答案 1 :(得分:0)

我从APNS Sharp获得了这些代码。

        if (!this.apnsStream.IsMutuallyAuthenticated)
        {
            if (this.Error != null)
            {
                this.Error(this, new NotificationException(4, "Ssl Stream Failed to Authenticate"));
            }
        }

        if (!this.apnsStream.CanWrite)
        {
            if (this.Error != null)
            {
                this.Error(this, new NotificationException(5, "Ssl Stream is not Writable"));
            }
        }

apnsStream sslStream 类似。我相信这些事件可能是您正在搜索的反馈。