卷曲超时卷曲并发送推送通知

时间:2019-03-16 06:42:31

标签: php android laravel push-notification

我在使用php和android进行推送通知时遇到一些问题。

当我在将其插入数据库后并在对Android应用程序作出响应之前用Android应用程序下达新订单时,我会启动以下服务代码:

    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, "token=" . config('app.passwords.service_token'));
    curl_setopt($curl, CURLOPT_TIMEOUT, 1);
    curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 1);
    curl_setopt($curl, CURLOPT_NOSIGNAL, 1);
    curl_setopt($curl, CURLOPT_HEADER, 0);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_FRESH_CONNECT, true);
    $response = curl_exec($curl);
    curl_close($curl);

此代码将发送推送通知。

我有卷曲超时问题。在此代码中是1秒。 在大多数情况下,使用curl发送的请求会花费更多时间,因此不会发送push。 如果我们增加超时值,答案将延迟到android应用,问题将出在Android端。

您有什么建议?我该怎么办?

1 个答案:

答案 0 :(得分:0)

我建议您增加:

CURLOPT_TIMEOUT > CURLOPT_CONNECTTIMEOUT

因为如果服务器的带宽使用率很高,或者您不在生产服务器上,并且连接速度很低,则连接可能需要花费几秒钟的时间,而当连接成功时,它将尝试发送推送,因此是的