PHP如何解压缩Apple APNS反馈数据

PHP如何解压缩Apple APNS反馈数据,php,apple-push-notifications,feedback,Php,Apple Push Notifications,Feedback,我已成功连接到苹果的反馈APNS服务器,但我不确定如何解压缩从fread()获取的二进制数据。有人知道怎么做吗?文档中说,前4个字节是时间戳,后2个字节是令牌长度,其余的是设备令牌 调用fread后,如何将这些信息解压为可读字符?一旦有了二进制流,您就可以这样处理它: while ($data = fread($stream, 38)) { $feedback = unpack("N1timestamp/n1length/H*devtoken", $data); // Do someth

我已成功连接到苹果的反馈APNS服务器,但我不确定如何解压缩从fread()获取的二进制数据。有人知道怎么做吗?文档中说,前4个字节是时间戳,后2个字节是令牌长度,其余的是设备令牌


调用fread后,如何将这些信息解压为可读字符?

一旦有了二进制流,您就可以这样处理它:

while ($data = fread($stream, 38)) {
  $feedback = unpack("N1timestamp/n1length/H*devtoken", $data);
  // Do something
}

$feedback将是一个包含元素“timestamp”、“length”和“devtoken”的关联数组。

实际上,这似乎更可靠:

$arr = unpack("H*", $devconts); 
$rawhex = trim(implode("", $arr));

$feedbackTime = hexdec(substr($rawhex, 0, 8)); 
$feedbackDate = date('Y-m-d H:i', $feedbackTime); 
$feedbackLen = hexdec(substr($rawhex, 8, 4)); 
$feedbackDeviceToken = substr($rawhex, 12, 64);