Apple通过代理推送PHP通知

问题描述:

我需要通过代理连接到Apple PNS。我正在使用PHP来开发应用程序。目前,我已经搜索了很多,但无处找到一个使用代理与流上下文的例子。 也做了这里提到的步骤: Using Charles and SSL Apple push addressApple通过代理推送PHP通知

下面是代码片段。请人建议,其高度迫切

if(PROXY_ADDRESS != '' && PROXY_PORT !='') 
{  
$opts = array('http' => array('proxy' => 'tcp://'.PROXY_ADDRESS.':'.PROXY_PORT, 'request_fulluri' => true)); 
$streamContext = stream_context_create($opts); 
} 
else 
{ 
$streamContext = stream_context_create(); 
} 

stream_context_set_option($streamContext, 'ssl', 'local_cert', $this->_privateKey); 

if($this->_privateKeyPassphrase !== '') 
    stream_context_set_option($streamContext, 'ssl', 'passphrase', $this->_privateKeyPassphrase); 

$fp = fopen('https://gateway.sandbox.push.apple.com:2195', 'r', false, $streamContext); 

我没有得到任何错误/异常,但没有收到推送消息。

+0

您确定您的错误报告已打开吗? – 2013-03-13 12:13:56

+0

是的,它已打开。 – kaps 2013-03-13 12:24:37

+0

我也遇到过这些链接http://stackoverflow.com/questions/13524971/ping-to-apns-not-returning。这是真的吗? – kaps 2013-03-13 12:24:55

对于那些谁可能会遇到同样的问题:

苹果PNS不允许连接通过代理服务器来。它只接受直接连接。当我直接连接而不是通过代理时,我的问题得到了解决。

+0

我们在哪里可以找到有关通过服务器连接到apns的文档? – Lucabro 2013-06-19 15:41:28