2011-09-28 6 views
0

私はPHPで基本的なサーバーを持っており、モバイルデバイスからは1分ごとにデータを送信してサーバーを保存します。データベースにクエリがない場合、毎分タイマーをリセットする方法はありますか?

私の携帯電話が接続を失ったときに、サーバーにカウンタを設定したいと思います。また、モバイルに2分以上のデータベースが挿入されていない場合は、あなたの携帯電話が接続を失ったというサーバーの機能を呼びたいと思います。携帯電話がデータをサーバーに送信するたびに、タイマーがリセットされます。

私はPHPに慣れていませんが、私は検索して同様のことを見つけることができませんでした。私はそれを行う簡単な方法がなければならないと確信しています。リスナを設定するか、またはカウントダウンタイマーを作成します。

+0

純粋にウェブサーバーでこれを行うことはできません。 cronジョブにアクセスできますか?またはあなたのアカウントにsshすることができますか? –

+0

いいえ、私はいません。私はちょうどデータベースにデータを保存し、データベースからデータを読み込む基本的なPHPファイルを使用します。したがって、聞くことができるコントローラはありません。私が論理を考えると、それは簡単に聞こえる。これまでにupdate.phpファイルを呼び出すと、phpファイルの中で、このファイルが呼び出される度にカウンタが変数としてリセットされます。基本的にこの小文字は時間とともにカウントダウンされます。あなたにはそれほど奇妙に聞こえるかもしれません。私はPHPファイルについては考えていない。だから、基本的なカウンターを持ち、毎回要求をリセットし続ける方法はありませんか? – akd

+0

ありません。 Webサーバーから提供されるphpファイルは、要求の範囲外では操作できません。したがって、「カウントダウン」できるプロセスはありません。これはバックグラウンドサービスでなければなりません。 –

答えて

0

最後に私はそれを働かせました。私が学んだのは、リクエストがなければサーバーは何もしないということです:)そのため、データベースにタイムスタンプフィールドを作成し、リクエストに現在時刻を更新します。もちろん、フィールドを更新する前にそれを取得し、現在の時刻と比較して、最後のリクエストがいつあったかを確認します。時差を見つけてください。 2分以上の時間差があれば、位置が変わる。これが他の人たちにも役立つことを願っています。

0

PHPコードでタイマーを設定することはできません。クライアントがページをリクエストしたときにのみ実行されます。

CRONジョブへのアクセス権がないため、CLI側からも実行できません。

ただし、一部のWebサービスでは、任意のページを定期的に呼び出すことができるため、http://something/save.phpの呼び出しごとにsave()にアクセスできます。詳細はhttp://www.google.fr/search?ie=UTF-8&q=online+cronをご覧ください。

誰かがsave()のURLを取得した場合、彼は簡単にあなたのサーバーを過負荷にする可能性があることに注意してください。ユーザー/パスワードの組み合わせをパラメータとして渡して、できるだけ多くのものを保護してください。

関連する問題