我的服务器将GCM请求发送到GCM api以获取推送通知。推送通知适用于某些推送通知,之后正在发出请求的curl函数超时并出现以下错误
“卷曲失败:无法连接到android.googleapis.com端口443:连接超时”
没有任何回复。但响应代码是200欧。
但是有一段时间后如果我尝试它会发送通知并给出正确的成功响应,如果我尝试发送一段时间,它会再次挂起并显示上述消息。
我在防火墙上打开了端口5228,5229和5230。
为什么会发生这种情况。我无法理解为什么会这样。
这是使用
的代码$headers = array(
'Authorization: key=' . $this->serverApiKey,
'Content-Type: application/json'
);
// Open connection
$ch = curl_init();
// Set the url, number of POST vars, POST data
curl_setopt( $ch, CURLOPT_URL, $this->url );
curl_setopt($ch, CURLOPT_PORT, 443);
curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode( $fields ) );
// Avoids problem with https certificate
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false);
// Execute post
$result = curl_exec($ch);
请帮我找到解决方案。
答案 0 :(得分:0)
这似乎更像是防火墙/代理服务器问题。请确保您的服务器中已打开端口443。使用ping和curl命令来验证这一点。
请参阅此Stack Overflow问题以获取更多信息。