PHP nasıl Apple APNS geribildirim verileri açmak için

2 Cevap php

Ben başarıyla Apple'ın geribildirim bağlanmak için başardı sunucu Apns ama fread () olsun ikili veri paketten nasıl emin değilim ettik. Herkes bunu biliyor mu? Belgeler ilk 4 byte, zaman damgası olan önümüzdeki 2 belirteç uzunluğu ve dinlenme aygıt simgesi olduğunu söylüyor.

Nasıl bu bilgi fread çağrısından sonra okunabilir karakterlere çözdükten olsun demek?

2 Cevap

Aslında bunu anladım, bu daha güvenilir gibi görünüyor:

$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);

Eğer ikili akışı var, bunu şöyle işleyebilir:

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

$ Geribildirim elemanları "damgası", "uzunluk" ve "devtoken" içeren bir ilişkisel dizi olacak.