gpt4 book ai didi

php - c相当于php apns代码

转载 作者:太空宇宙 更新时间:2023-11-04 04:07:48 28 4
gpt4 key购买 nike

我正在编写一个 .c apns(苹果推送通知服务器)应用程序,
我让程序的其余部分正常工作,即连接到服务器,建立 ssl,json 编码消息等。
但是我被困在将 token 转换为十六进制字符串部分的部分。
示例值
$deviceToken 是“4DBCD414F624842E581972E65D2DAA4B96279B209BD0CE10AB12E52AEA48A670”
$apnsMessage 是 "{"aps":{"alert":"testing","badge":1,"sound":"elephant.aiff"}}"

这是一个 php 代码段,目前可以完成这项工作。

$apnsMessage = chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $deviceToken)) . chr(0) . chr(strlen($message)) . $message;
fwrite($this->apnsConnection, $apnsMessage);

如有任何帮助,我们将不胜感激。谢谢彼得

最佳答案

PHP 中的

chr 函数接受一个整数并返回一个带有一个字符的字符串,该字符相当于输入的 ASCII 字符。示例 chr(48) 将返回 "0"。在 C 中,您可以使用 snprintf 作为:

int val = 30;
char str[2];
snprintf(str,2,"%c",val);

. 在 PHP 中是字符串连接,在 C 中你可以使用 strcatstrcpy 函数来完成。示例:

$msg = "a" . "b";

在 C 中是:

char msg[MAX];
strcpy(msg,"a");
strcat(msg,"b");

strlen 在 C 和 PHP 中的工作方式相同 :)。它接受一个字符串并返回它的长度。

str_replace 没有直接的函数。您必须遍历测试每个字符的字符串。

示例:模拟str_replace('a','b',$str):

for(i=0;str[i];i++) {
if(str[i] == 'a') {
str[i] = b;
}
}

关于php - c相当于php apns代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3779151/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com