推送消息不慢,只是不準確(即不保證它將被髮送)。 儘管如此,接收推送消息的速度可能比每隔五秒輪詢服務器的速度要快。
如果你可以承受的時間值得結合這兩種方法,即推送消息和常規池作爲後退。
這就是說,你沒有提供足夠的信息來說明你在做什麼,所以很難提出任何建議。
最快的方法是連接到服務器,保持連接打開,並讓PHP緩慢地傳輸少量的亂碼數據,直到它發送一條真正的消息。這是最快的事情,但在電池使用等方面當然是不可能的。所以請解釋你想做的事情。
UPDATE以遠程命令您需要打開連接的手機。有很多方法可以做到,我只會發佈一個概念驗證php。
<?php
//to send a command to the phone just create a file
//named command.txt in this directory
//from any other script
set_time_limit(0);
while (true)
{
if (file_exists('command.txt'))
{
$command = file_get_contents('command.txt');
rm('command.txt');
echo $command;
flush();
unset ($command);
} else {
echo asc(0); //prevent the connection to be dropped
flush();
usleep(200); //sleeps for 200 ms
}
}
?>
這個例子缺少很多東西,它只是一個關於如何處理與PHP的開放連接的概念證明。 客戶端將需要去除所有零字節並保留下載的其餘數據。 這是絕對最快的方式來處理單向遠程交互,另一方面,將吸電池相當快:)。
嗨塔科。我更新了我的示例,以更好地反映即時通訊嘗試歸檔:)我不明白爲什麼推送通知會更快,因爲我將不得不添加一個addiotional「步驟」爲我的消息「網絡」 - >「推服務」 - >「設備」。 – 2011-04-01 18:13:15
如果您平均每5秒輪詢一次服務器,您可能需要等待2.5秒,直到您發現服務器有新消息。推送通知可能需要不到一秒的時間才能到達。 – tacone 2011-04-01 18:57:21
正在使用推送通知,這真的是我需要調查的一種方式嗎?我認爲使用這種推送服務可能被認爲是垃圾郵件?假設電池沒有任何關於這個應用程序的擔憂,那麼插座解決方案是否是理想的選擇? – 2011-04-01 19:04:36