2012-02-23 126 views
0

我試圖「易ASPN」 http://www.easyapns.com我的服務器上..測試蘋果推送通知服務

這是連接蘋果服務器的PHP代碼:

$ctx = stream_context_create(); 
    stream_context_set_option($ctx, 'ssl', 'local_cert', 'apns.pem'); 
    $fp = stream_socket_client('ssl://gateway.push.apple.com:2195', $error, $errorString, 100, (STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT), $ctx); 

我是確保OpenSSL是在啓用PHP配置..

服務器管理員告訴我,他薩德打開的端口:2196,2196

但這PHP代碼總是返回:

Failed to connect to APNS: 110 Connection timed out. 

我試圖測試從外殼到蘋果服務器的連接,

我已經寫道:

telnet gateway.sandbox.push.apple.com 2195 

但它返回:

-bash: telnet: command not found 

我是真不不知道如何解決這個問題...

回答

0

我看到兩件可能導致你的問題的事情。首先,你需要把你的密碼:

stream_context_set_option($ctx, 'ssl', 'passphrase', 'your_passphrase'); 

此外,你應該打的反饋網址:

ssl://feedback.sandbox.push.apple.com:2196 

(URL的沙箱部分是用於開發,刪除它,如果你打你的產品實例)

希望有所幫助。

+0

什麼是「your_passphrase」?這是從哪裏來的?當我創建PEM文件時,我將密碼留空......是這個密碼短語應該是什麼,還是其他的東西?謝謝 – jsherk 2012-04-09 02:20:32

+0

保留空白,如''' – 2014-12-18 04:27:46