我使用 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 毫秒左右。