unable to connect to ssl://gateway.sandbox.push.apple.com:2195 错误
2024-10-21 11:49:47
使用APNS 搭建苹果推送服务器错误:unable to connect to ssl://gateway.sandbox.push.apple.com:2195 错误
1:检查你的服务器的端口 2195是否已经开启,是否被关闭了或是防火墙阻止了!这点很重要;
如果你不确定,又出现了错误,请先向你的服务器商询问一下,并开启;
2:确认你的证书没有问题:
在mac下执行 openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key-noenc.pem -debug -showcerts -CAfile "apns-dev.pem"
在上面进程执行完之后;可以随便输入一些字符串,如果关闭了,这时是正常的!如果没有关闭,会有错误信息打印;说明证书有问题;
证书生成:https://blog.serverdensity.com/how-to-build-an-apple-push-notification-provider-server-tutorial/
3:检查你的 推送程序是否有问题;
在这里推荐几个我测试成功的 php推送程序;
- https://github.com/blommegard/APNS-Pusher
- https://github.com/duccio/ApnsPHP
- https://github.com/manifestinteractive/easyapns
- 其他:
<?php //接收到设备发来的token,这里我手动填上。
$deviceToken = "c9d15180ff117c6540e0f21f8c13edae6a5a437e517acbac7bb740fd33b9b069";
//构造消息体
$body = array("aps" => array("alert" => 'this is test from push.cocoajin.org/p.php', "badge" => 1, "sound" => 'received5.caf'));
$ctx = stream_context_create();
stream_context_set_option($ctx, "ssl", "local_cert", "apns-dev.pem");
//建立socket连接
$fp = stream_socket_client("ssl://gateway.sandbox.push.apple.com:2195", $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx);
if (!$fp) { print "Failed to connect $err $errstrn"; return; }
print "Connection OK";
$payload = json_encode($body);
$msg = chr(0) . pack("n",32) . pack("H*", $deviceToken) . pack("n",strlen($payload)) . $payload;
print "sending message :" . $payload . "\n";
fwrite($fp, $msg);
fclose($fp); ?>
4:检查你的服务器与推送程序的环境配置是否相匹配;
比如我的服务器使用Apache ,程序用php 那么 就要确认服务器 支持php 的 socket连接 openSSL模块;
最新文章
- Android应用架构之Android MVP使用
- IDE-Sublime【2】-代码智能提示插件SublimeCodeIntel的安装
- Java——新IO 缓冲区与Buffer
- 用ConfigParser模块读写配置文件——Python
- HeadFirst Jsp 06 (会话管理)
- hdu1754线段树维护区间最大值
- 浅谈TCP优化(转)
- OpenCV两张图片的合并
- java一般使用基础
- Swift2.2 看完这篇博客 你不想懂也会懂得----二叉树
- Mybatis #{ } 和 ${ } 区别
- vb6.0快速操作注册表函数大全(仅字符串KEY值部分)
- Ubuntu命令整理
- python 列表中[ ]中冒号‘:’的作用
- 【English】20190416
- mysql数据库基本语句
- day15--认识模块、导入模块、自执行与模块的区别
- JAVA的高并发基础认知 二
- 方程:方程(equation)是指含有未知数的等式
- [转帖]Linux系统/dev/mapper目录浅谈
热门文章
- [scrapy] scrapy 使用goose作为正文提取
- Java实现打包下载BLOB字段中的文件
- [Codeforces #190] Tutorial
- 【后缀自动机】CDOJ1551 Hesty Str1ng
- 重拾vue2
- BZOJ 4028: [HEOI2015]公约数数列 分块
- opensue安装eclipse进行python开发
- 使用hosts.allow和hosts.deny实现简单的防火墙
- HDU 4576 Robot (很水的概率题)
- 看看如何解决“SQL Server只能使用Windows身份登录,不能使用sa等Sql server身份进行登录”的问题