我试图推送通知,我的iPhone,我已经使用PHP做成功。不过,我无法打开的套接字连接使用C#苹果的推送服务器。我不认为有与证书本身有问题,因为我是能够成功地推动在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);

当我尝试用下面的代码在C#进行身份验证,苹果关闭连接的时候了。我得到这个异常:“无法读取从传输连接数据:一个现有的连接被强行关闭远程主机”

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

我基本上把我所有的代码这个问题: C#iPhone推送服务器

我想,因为我不认为C#允许你只加载.PEM编程文件可能是与证书有问题。我使用OpenSSL的将其转换为一个.PFX文件,但我仍然有同样的问题。

不知道如何我可以解决此(可能证书)的问题?

有帮助吗?

解决方案

这实际上原来是使用.NET 2.0中的问题。不知道它到底是什么,但我在Visual Studio 2008中编译,一切伟大的工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top