在PHP中推送通知,我应该使用CURL还是stream_context_create()?

时间:2014-07-07 17:25:25

标签: php curl push-notification apple-push-notifications

1 个答案:

答案 0 :(得分:3)

  

您无法使用CURL发送Apple推送通知。正如您在链接中的所有CURL示例中所看到的,它们都是针对Android示例的Google Cloud Messaging(GCM)。

     

CURL适用于GCM,因为GCM服务器接受HTTPS请求。另一方面,Apple推送通知不适用于HTTP。它们仅通过TCP协议使用特定的二进制格式。

     

作为提供商,您可以通过二进制界面与Apple推送通知服务进行通信。该接口是供应商的高速,高容量接口;它将流式TCP套接字设计与二进制内容结合使用。二进制接口是异步的

     

因此你应该使用stream_context。

虽然这个答案在当时是正确的,但现在已经过时了。就像@andreszs说的那样,你现在可以使用PHP / CURL向APN发送HTTP / 2请求

确实,使用HTTP / 2支持设置CURL有点痛苦,因为你需要自己用其他几个库(比如openssl和nghttp2)编译它。如果你像我一样,并且想在Windows上做但却不知道怎么做,你可能想看一下this post(我为了让它运转起来的过程)。