Php Apple向多个设备推送通知

Php Apple向多个设备推送通知,php,apple-push-notifications,Php,Apple Push Notifications,是否有人想出了将消息推送到多个设备的正确方法。我们正在开发一个有粉丝的应用程序,比如Facebook或Twitter,我需要向一个人的粉丝发送一条消息(总共600人) 在PHP中,我刚刚做了一个测试,每条消息大约需要20秒才能返回回复 $fp = stream_socket_client('ssl://gateway.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx); 及 这将导致发送600条消息需要3小

是否有人想出了将消息推送到多个设备的正确方法。我们正在开发一个有粉丝的应用程序,比如Facebook或Twitter,我需要向一个人的粉丝发送一条消息(总共600人)

在PHP中,我刚刚做了一个测试,每条消息大约需要20秒才能返回回复

$fp = stream_socket_client('ssl://gateway.push.apple.com:2195', $err,
$errstr, 60, STREAM_CLIENT_CONNECT, $ctx);

这将导致发送600条消息需要3小时


对于每条消息,我都执行相同的代码行。我是否应该打开流,然后发出多个写操作,然后关闭fpclose?

谢谢tntu。我在发帖后不久就发现了这一点。我的问题是消息在一个PHP脚本中,而实际推送在另一个脚本中。当推到5或6人以上时,我需要将它们组合起来。有趣的是,同样的脚本现在只需2分钟就可以运行,所以那天可能只是apple推送通知服务器的问题。我将推送通知作为套接字服务器运行,接收传入的JSON传输并将其写入文件夹中的文件。在一个单独的线程上,我有另一个代码检查该文件夹并发送它在那里找到的内容。最后是另一个反馈线程。如果您没有PCNTL支持,您可以将它们作为单独的脚本在循环中永远运行。不要忘记添加一些睡眠时间,以避免高CPU使用率。我用Python编写了所有代码,并计划在有时间的时候用C重写。
foreach($msgs as $msg) {
  $result = fwrite($fp, $msg, strlen($msg));
}
foreach($msgs as $msg) {
  $result = fwrite($fp, $msg, strlen($msg));
}