2009-08-10 75 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中編譯,一切都很好。