2009-08-10 70 views
0

我试图将通知推送到我的iPhone,我已经成功完成了使用PHP。但是,我无法打开使用C#的Apple推送服务器的套接字连接。我不认为有与证书本身有问题,因为我是能够成功地推动在PHP中使用此代码通知:无法将通知推送到.NET - .PEM证书问题?

$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 push server?

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

任何想法如何解决这个(可能的证书)问题?

回答

0

这实际上证明是.NET 2.0的一个问题。不确定它到底是什么,但我在Visual Studio 2008中编译,一切都很好。