0

我使用 PHP 来编写一个 Telegram 机器人,它使用webhook这意味着每次更新都会调用 PHP 文件。我使用 curl 将 JSON 发布到https://api.telegram.org。当我在我的 PHP 文件中发送消息时,它会在大约1 秒内响应。我认为是因为它不重用 curl 连接。PHP 文件完成后连接关闭。

我还编写了一个 Java 应用程序,它getUpdate每 5 秒调用一次方法。它会在大约500 毫秒内做出响应,因为它重用了连接。

如何像我的 Java 应用程序一样加速我的 PHP 机器人?即使 PHP 文件完成并运行另一个 PHP 文件,是否有任何方法可以重用连接?

这是我的PHP代码:

function Post($method, $data)
{
    $url = "https://api.telegram.org/bot".$authenticationToken."/".$method;
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
    curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json"));
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_ENCODING,  '');
    $resultJSON = curl_exec($curl);
    curl_close($curl);

    $result = json_decode($resultJSON,true);
    if(!$result["ok"])
        LogF($resultJSON);
    return $result;
}

PS:URL 的 ping 时间在200 毫秒左右。

4

0 回答 0