【问题标题】:PHP how to unpack Apple APNS feedback dataPHP如何解压Apple APNS反馈数据
【发布时间】:2009-10-14 18:05:59
【问题描述】:

我已成功连接到 Apple 的反馈 APNS 服务器,但我不确定如何解压缩从 fread() 获得的二进制数据。有谁知道如何做到这一点?文档说前 4 个字节是时间戳,接下来的 2 个是令牌长度,其余的是设备令牌。

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

【问题讨论】:

    标签: php apple-push-notifications feedback


    【解决方案1】:

    一旦你有了你的二进制流,你可以像这样处理它:

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

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

    【讨论】:

      【解决方案2】:

      其实想通了,这个好像比较靠谱:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-19
        • 2012-08-22
        相关资源
        最近更新 更多