Rumah php教程 php手册 php从苹果apns的feedback服务器获取推送失败的token

php从苹果apns的feedback服务器获取推送失败的token

Jun 06, 2016 pm 08:13 PM
apns feedback php menolak pelayan epal dapatkan

注意事项: 1.建议和feedback服务器建立长连接,连接过于频繁有可能被当做攻击(简简单单的做一些测试时没有关系的); 2.获取的token是在上次你给你的应用发推送失败时加feedback服务的,里面会返回失败的具体时间 3.返回的数据由三部分组成,请看下面的图 结

注意事项:

1.建议和feedback服务器建立长连接,连接过于频繁有可能被当做攻击(简简单单的做一些测试时没有关系的);

2.获取的token是在上次你给你的应用发推送失败时加feedback服务的,里面会返回失败的具体时间

3.返回的数据由三部分组成,请看下面的图

1357647920_4440结构中包含三个部分,第一部分是一个上次发推送失败的时间戳,第二个部分是device_token的长度,第三部分就是失效的device_token

下面是我的代码:

Salin selepas log masuk
Salin selepas log masuk
<?php /**
 * @desc 连接苹果的推送服务器
 * @return bool|resource
 */
function connect_feedback(){
   $passphrase = 'cheshi123';
   $cert_file = 'cheshi_productionck.pem';//推送的证书地址,环境不要错了
   $feedback_server = 'ssl://feedback.push.apple.com:2196';//feedback服务器地址
   //沙盒环境地址是 ssl://feedback.sandbox.push.apple.com:2196
   $ctx = stream_context_create();
   stream_context_set_option($ctx, 'ssl', 'local_cert', $cert_file);
   stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);
   $fp = stream_socket_client($feedback_server, $error, $errorString, 60, STREAM_CLIENT_CONNECT, $ctx);
   if(!$fp){
      print "Failed to connect feedback server: $error $errorString\n";
      return false;
   }else{
      print "Connection to feedback server OK\n";
   }
   return $fp;
}
/**
 * @desc 连接本地的redis,用来存储获取到的token,也可以用其他方式存储
 * @param $redis_server
 *
 * @return bool|Redis
 */
function connect_redis($redis_server){
   $param = parse_url($redis_server);
   $redis = new Redis();
   if($redis->connect($param['host'],$param['port'])){
      print "connect redis OK";
   }else{
      print "failed to connect redis server";
      return false;
   }
   return $redis;
}
/**
 * @desc 执行推送操作的主要代码
 */
function feedback(){
   $count1 = 0;
   $run_times = 0;
   $redis_server = "tcp://localhost:6379";
   $iostokenremoved= 'iostokenremoved';
   $iostokenremoved_num = 'iostokenremoved_num';
   $fp = connect_feedback();
   $redis = connect_redis($redis_server);
   //苹果建议provider和feedback服务维持一个长连接,如果频繁的建立连接可能会被当做攻击处理
   $devcon ='';
   while($run_timesping()==='+PONG'){
         print date('Ymd His').'|redis server disconnected';
         @$redis->close();
         unset($redis);
         $redis = connect_redis($redis_server);
      }
      //每次读取38个字段,这是保存的一个完整token 信息的长度
      while ($devcon = fread($fp, 38)){
         $count1 ++ ;
         $arr = unpack("H*", $devcon);//解包传过来的二进制数据
         $rawhex = trim(implode("", $arr));
         $feedbackTime = hexdec(substr($rawhex, 0, 8));
         $feedbackDate = date('Y-m-d H:i:s', $feedbackTime);
         $feedbackDeviceToken = substr($rawhex, 12, 64);
         //记录被删除的token
         $redis->hSet($iostokenremoved,$feedbackDeviceToken,$feedbackDate);
         //记录每天的卸载数量
         $redis->hIncrBy($iostokenremoved_num,date('Y-m-d',$feedbackTime),1);
      }
      echo 'FeedBack:'. $count1 . PHP_EOL;
      usleep(10000000);//sleep 10秒
   }
   $redis->close();
   fclose($fp);
}
//可以通过命令行来执行这个脚本 php -f feedback.php feedback
if(isset($argc[1]) && function_exists($argv[1])){
   $argv[1]();
}else{
   die('invalid input');
}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

DeepSeek iOS versi muat turun dan tutorial pemasangan DeepSeek iOS versi muat turun dan tutorial pemasangan Feb 19, 2025 pm 04:00 PM

DeepSeek Smart AI Tool Muat turun dan Panduan Pemasangan (Pengguna Apple) DeepSeek adalah alat AI yang kuat. 1. Muat turun dan pasang Langkah: Buka AppStore App Store dan masukkan "DeepSeek" di bar carian. Periksa dengan teliti nama aplikasi dan maklumat pemaju untuk memastikan versi yang betul dimuat turun. Klik butang "Dapatkan" pada halaman Butiran Aplikasi. Muat turun pertama mungkin memerlukan pengesahan kata laluan Appleid. Selepas muat turun selesai, anda boleh membukanya secara langsung. 2. Proses Pendaftaran: Cari Portal Login/Pendaftaran dalam Permohonan DeepSeek. Adalah disyorkan untuk mendaftar dengan nombor telefon bimbit. Masukkan nombor telefon bimbit anda dan terima kod pengesahan. Periksa perjanjian pengguna,

Mengapa pautan Bybit Exchange tidak dimuat turun dan dipasang secara langsung? Mengapa pautan Bybit Exchange tidak dimuat turun dan dipasang secara langsung? Feb 21, 2025 pm 10:57 PM

Mengapa pautan Bybit Exchange tidak dimuat turun dan dipasang secara langsung? Bybit adalah pertukaran cryptocurrency yang menyediakan perkhidmatan perdagangan kepada pengguna. Aplikasi mudah alih Exchange tidak boleh dimuat turun terus melalui AppStore atau GooglePlay untuk sebab -sebab berikut: 1. Aplikasi pertukaran cryptocurrency sering tidak memenuhi keperluan ini kerana ia melibatkan perkhidmatan kewangan dan memerlukan peraturan dan standard keselamatan tertentu. 2. Undang -undang dan Peraturan Pematuhan di banyak negara, aktiviti yang berkaitan dengan urus niaga cryptocurrency dikawal atau terhad. Untuk mematuhi peraturan ini, aplikasi bybit hanya boleh digunakan melalui laman web rasmi atau saluran yang diberi kuasa lain

Platform Perdagangan Pintu Terbuka Sesame Muat turun Versi Mudah Alih Platform Perdagangan Platform Perdagangan Alamat Muat Turun Platform Perdagangan Pintu Terbuka Sesame Muat turun Versi Mudah Alih Platform Perdagangan Platform Perdagangan Alamat Muat Turun Feb 28, 2025 am 10:51 AM

Adalah penting untuk memilih saluran rasmi untuk memuat turun aplikasi dan memastikan keselamatan akaun anda.

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Gate.io Wijor Door Muat turun Tutorial Cina Gate.io Wijor Door Muat turun Tutorial Cina Feb 28, 2025 am 10:54 AM

Artikel ini akan membimbing anda secara terperinci bagaimana untuk mengakses laman web rasmi Gate.io, menukar bahasa Cina, mendaftar atau log masuk ke akaun anda, serta muat turun aplikasi mudah alih dan menggunakan prosedur, membantu anda dengan mudah memulakan dengan pertukaran Gate.io. Untuk lebih banyak tutorial menggunakan Gate.io dalam bahasa Cina, sila teruskan membaca.

Cara Mencari Pautan Muat Turun Ouyi Okx Android dan Apple Cara Mencari Pautan Muat Turun Ouyi Okx Android dan Apple Feb 21, 2025 pm 05:39 PM

OUYI OKX adalah pertukaran cryptocurrency terkemuka di dunia yang menyediakan pengguna dengan pengalaman perdagangan yang selamat dan mudah. Pengguna boleh memuat turun aplikasi mudah alih OUYI OKX, termasuk versi Android dan Apple melalui saluran rasmi.

Bagaimana cara memasang dan mendaftarkan aplikasi untuk membeli duit syiling maya? Bagaimana cara memasang dan mendaftarkan aplikasi untuk membeli duit syiling maya? Feb 21, 2025 pm 06:00 PM

Abstrak: Artikel ini bertujuan untuk membimbing pengguna tentang cara memasang dan mendaftarkan aplikasi perdagangan mata wang maya pada peranti Apple. Apple mempunyai peraturan yang ketat mengenai aplikasi mata wang maya, jadi pengguna perlu mengambil langkah khas untuk menyelesaikan proses pemasangan. Artikel ini akan menghuraikan langkah -langkah yang diperlukan, termasuk memuat turun aplikasi, membuat akaun, dan mengesahkan identiti anda. Berikutan panduan artikel ini, pengguna boleh dengan mudah menyediakan aplikasi perdagangan mata wang maya pada peranti Apple mereka dan mula berdagang.

See all articles