ホームページ バックエンド開発 PHPチュートリアル データ転送を最小限に抑える - クライアントにデータを保存する_PHP チュートリアル

データ転送を最小限に抑える - クライアントにデータを保存する_PHP チュートリアル

Jul 21, 2016 pm 04:07 PM
のために 存在する ストレージ クライアント 意思 データ データ送信 はい 最小化する プログラム プログラマー 言語 出力

プログラムを他の言語に出力することは、プログラマが好むことの 1 つです。WEB には
クライアント (ブラウザ) 側とサーバー側の 2 つの異なるプログラミング環境があります。サーバー プログラムを他の言語で出力します。クライアント出力としてサーバー言語と JavaScript を選択しました。この質問では、このソリューションを使用してクライアントにデータを保存し、チャット ルーム、ニュース システム、または実装したいその他のアプリケーションでサーバーとクライアント (ブラウザー) 間の通信を実現する方法を説明します。

次のサポートが必要です:
PHP4
JavaScript
フレーム

主なアイデア:

私たちは PHP を使用して HTTP プロトコルに基づいたチャット ルーム (HTTP CHAT ROOM) を開発しようとしていますが、
HTTP プロトコルはそうではありませんチャット プロトコルには適していますが、ファイアウォールやプロキシの影響を受けません。
PHP は、JAVA APPLETS を使用せずにこの機能を完全に実装できます。
まず、IE は SERVER PUSH テクノロジをサポートしていないため、したがって、CLIENT PULL テクノロジ (つまり、クライアントの自動更新) のみを使用できます。2 番目の問題はさらに深刻です。アイデアはクライアント上で更新することであるため、サーバーは毎回すべてのメッセージを送信する必要があり、これは大量のメッセージを送信することを意味します。この記事では、フレーム テクノロジ (フレーム) を使用すると、他のページをリロードせずに指定したページを更新できるため、サービスや顧客の数が減少します。 /S) データ送信量。私たちのモデルはこのスキームに基づいています。
"master" ファイル: フレームワーク構造を定義します
"loader" ページ: データをインポートします
"display" ページ: データを表示します
このスキームでは、"loder" ボックスは "x" 秒ごとに自動的に更新されます - 私たちのアイデアは、データは「マスター」
ファイルに保存されるため、「ローダー」ページはクライアントが持っていないデータをサーバーに要求するだけで済みます。タイムスタンプ
を使用して各メッセージを記憶し、どのメッセージをサーバーに送信する必要があるかを決定します。クライアントは送信する必要はありません。 PHP4.0 のセッション管理 (セッション) を使用してクライアントの最終更新タイムスタンプ (最終タイムスタンプ) を保存し、タイムスタンプがサーバーとクライアントの両方に表示されるようにします。 「ローダー」ファイル
が「マスター」ファイルからデータを受信すると (注: 「マスター」ファイルは大きいですが、転送されるのは 1 回だけです)、表示ページ (「diaplay」)
と「表示」ページを更新します。このページは、「マスター」ファイル内の「displaymsgs()」という名前の JavaScript 関数を呼び出して、メッセージを表示するだけです。この関数は、「マスター」ファイルに保存されているデータを動的に表示します。以下は一般的なフローチャートです。
1.ブラウザが「マスター」ページ(フレーム)をリクエストし、「マスター」ページがサーバーからクライアント(ブラウザ)に送信され、「マスター」
ファイルがフレームを生成し、「ローダー」と「ディスプレイ」が生成されます。ページはクライアントに転送されます。
2.サーバー側では、「loader」ファイルが分析されます。クライアントが「timestamp」セッション変数を定義していない場合、「loder」ファイルはサーバーからすべてのデータを取得し、データを「master」ファイルに保存され、「timestamp」変数がセッション変数として保存されます。
3. 「loder」ページは、「display」ページを更新するための JavaScript コードを生成します。
4.更新リクエストにより、「表示」ページが「diaplaymsgs()」JavaScript 関数を呼び出してデータを表示します
5. 「x」秒ごとにステップ 2 に戻ります

次のように考えることができます:
============================= == =========================
「マスター」ファイル: 非常に大きく、displaymsgs() 関数を定義し、データと初期値を保存します。
「ローダー」ファイル: 小さい、サーバーからデータを取得し、JavaScript コードを生成します
「ディスプレイ」ファイル: 非常に小さい、「マスター」ファイルの「diaplaymsgs()」関数を呼び出します
========= = ===============================================
注意事項: 「マスター」ファイルは一度だけ転送されます
「loder」ファイルと「display」ファイルは「x」秒ごとに更新されます
「loder」は最初に転送されるときは大きいかもしれませんが、後で小さくなります
「diaplay」ファイル変更はありません

上記の考え方がまだよくわからない場合は、以下にチャット ルームを設けて方法を詳しく説明します。このチャット ルームは単なるデモンストレーションのためのものですので、あまり役に立たないかもしれませんが、間違いなく使用できます。このアイデアは、より複雑なチャット ルームを構築することです。このアイデアはチャット ルームだけを対象としたものではないことに注意してください。 :)

まず、mysql データベース フォームを使用してください:
============================
create table testeable (
timestamp datetime 、
================================================================== )function displaymsgs(){display.document.write( '< br>'); =====================================

「表示」ファイルの内容:
======================
= ================= ==
「表示」ファイルは非常に小さいですか?:)

「ローダー」ファイル:
================================================パスワード "); // データベースを開きます
MySQL_SELECT_DB (" TestBase ", $ DAB);

// クライアントが持っていない情報を見つけます $ quily =" select * from testeable where timestamp & gt; '"; $ result = mysql_query ($ Query, $ dab);
$ msgs = array ();

// このサイクルでは、最新のニュース/データを保存し、「TimestAmp」を現在の最大値に設定します ( $ res = mysql_fetch_array($result))
s["timestamp"]; // サーバーストアから取得した最新のデータを「マスター」ページに配置します (注: 上部のウィンドウを指すには「top」を使用します) (マスター)

「top」を使用して、一番上のウィンドウ (マスター) をポイントします

.lines[top.lines.length]=" ";
「表示」ページを更新するコード? & Gt;
top.display.Location.Reload ();
& lt;/script & gt;

& lt;! 「loader」ページを 4 秒ごとに更新する JavaScript のメソッド -->
"
"
" ===== ==================================

「フォーム」ページ:
" ======== ============
}  

// 显示表单、生成「タイムスタンプ」变量。  
if (isset($msg)) {
$dab=mysql_connect("localhost","root","seldon");  
mysql_select_db("testbase",$dab);  
$query="testeable(timestamp,message) 値に挿入(now(),'$msg')";  
mysql_query($query,$dab);  
// タイムスタンプ後のすべてのメッセージを取得
$query="select * from testeable where timestamp>'$tt'";  
$result=mysql_query($query,$dab);  
$msgs=array();$i=0;$timestamp=0;  
while($res=mysql_fetch_array($result)) {
$msgs[]=$res["メッセージ"];  
if($res["タイムスタンプ"]>$タイムスタンプ) {
$tt=$res["タイムスタンプ"];  
}
}
session_register("タイムスタンプ");  

?>  
<スクリプト>  
for($i=0;$i<$count($msgs);$i++) {
?>  
top.lines[top.lines.length]="";  
}
?>  
top.display.location.reload(); //刷新"display"页
  
}
?>  

"メソッド="投稿">  
メッセージ:  
  
  
================================================ ====
注:「フォーム」の引用交換時に、新しい「表示」画面を上に表示することで、投稿者が上に投稿することができるようにしています。

ご覧のとおり、このチャット ルームは非常にシンプルです。これは顧客/サービス (C/S) データ転送の最小化スキルです。このテクノロジーを使用すると、
データ転送を最小限に抑えることができます。もう一度思い出してください: このテクノロジーはそうではありませんここはチャットルーム用です!
================================================ === ======
上記は win98+apache1.3+php4.03 プラットフォームでテストされました。
ご提案やご質問がございましたら、飛陽コミュニティ (http://feiyschool.51.net) までご連絡ください。
または feiyhy@sina.com にメールをお送りください。
アドバイスをお願いします。ありがとうございます! ... //www.phpbuilder.com

【この記事の著作権は著者とAosuo.comが共有しています。転載する場合は著者と出典を明記してください】



http://www.bkjia.com/PHPjc/315052.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/315052.html技術記事プログラムを他の言語に出力することは、プログラマーが好むことの 1 つです。Web には、HTTP プロトコルの定義によれば、クライアント (ブラウザー) とサーバー側の 2 つの異なるプログラミング環境があります。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

GoogleマップをiPhoneのデフォルト地図にする方法 GoogleマップをiPhoneのデフォルト地図にする方法 Apr 17, 2024 pm 07:34 PM

iPhone のデフォルトの地図は、Apple 独自の地理位置情報プロバイダーである Maps です。マップは改善されていますが、米国外ではうまく機能しません。 Googleマップと比べて何も提供するものはありません。この記事では、Google マップを iPhone のデフォルトの地図として使用するための実行可能な手順について説明します。 Google マップを iPhone のデフォルトの地図にする方法 Google マップを携帯電話のデフォルトの地図アプリとして設定するのは、思っているよりも簡単です。以下の手順に従ってください – 前提条件 – 携帯電話に Gmail がインストールされている必要があります。ステップ 1 – AppStore を開きます。ステップ 2 – 「Gmail」を検索します。ステップ 3 – Gmail アプリの横にある をクリックします

オープンソース!ゾーイデプスを超えて! DepthFM: 高速かつ正確な単眼深度推定! オープンソース!ゾーイデプスを超えて! DepthFM: 高速かつ正確な単眼深度推定! Apr 03, 2024 pm 12:04 PM

0.この記事は何をするのですか?私たちは、多用途かつ高速な最先端の生成単眼深度推定モデルである DepthFM を提案します。従来の深度推定タスクに加えて、DepthFM は深度修復などの下流タスクでも最先端の機能を実証します。 DepthFM は効率的で、いくつかの推論ステップ内で深度マップを合成できます。この作品について一緒に読みましょう〜 1. 論文情報タイトル: DepthFM: FastMonocularDepthEstimationwithFlowMatching 著者: MingGui、JohannesS.Fischer、UlrichPrestel、PingchuanMa、Dmytr

iPhoneに時計アプリがない:それを修正する方法 iPhoneに時計アプリがない:それを修正する方法 May 03, 2024 pm 09:19 PM

携帯電話に時計アプリがありませんか?日付と時刻は iPhone のステータス バーに引き続き表示されます。ただし、時計アプリがないと、世界時計、ストップウォッチ、目覚まし時計、その他多くの機能を使用できません。したがって、見つからない時計アプリを修正することは、やるべきことリストの一番上に置く必要があります。これらの解決策は、この問題の解決に役立ちます。解決策 1 – 時計アプリを配置する 誤って時計アプリをホーム画面から削除した場合は、時計アプリを元の場所に戻すことができます。ステップ 1 – iPhone のロックを解除し、App ライブラリ ページに到達するまで左にスワイプを開始します。ステップ 2 – 次に、検索ボックスで「時計」を検索します。ステップ 3 – 検索結果に以下の「時計」が表示されたら、それを長押しして、

Google は大喜び: JAX のパフォーマンスが Pytorch や TensorFlow を上回りました! GPU 推論トレーニングの最速の選択肢となる可能性があります Google は大喜び: JAX のパフォーマンスが Pytorch や TensorFlow を上回りました! GPU 推論トレーニングの最速の選択肢となる可能性があります Apr 01, 2024 pm 07:46 PM

Google が推進する JAX のパフォーマンスは、最近のベンチマーク テストで Pytorch や TensorFlow のパフォーマンスを上回り、7 つの指標で 1 位にランクされました。また、テストは最高の JAX パフォーマンスを備えた TPU では行われませんでした。ただし、開発者の間では、依然として Tensorflow よりも Pytorch の方が人気があります。しかし、将来的には、おそらくより大規模なモデルが JAX プラットフォームに基づいてトレーニングされ、実行されるようになるでしょう。モデル 最近、Keras チームは、ネイティブ PyTorch 実装を使用して 3 つのバックエンド (TensorFlow、JAX、PyTorch) をベンチマークし、TensorFlow を使用して Keras2 をベンチマークしました。まず、主流のセットを選択します

iPhoneのセルラーデータインターネット速度が遅い:修正 iPhoneのセルラーデータインターネット速度が遅い:修正 May 03, 2024 pm 09:01 PM

iPhone のモバイル データ接続に遅延や遅い問題が発生していませんか?通常、携帯電話の携帯インターネットの強度は、地域、携帯ネットワークの種類、ローミングの種類などのいくつかの要因によって異なります。より高速で信頼性の高いセルラー インターネット接続を実現するためにできることがいくつかあります。解決策 1 – iPhone を強制的に再起動する 場合によっては、デバイスを強制的に再起動すると、携帯電話接続を含む多くの機能がリセットされるだけです。ステップ 1 – 音量を上げるキーを 1 回押して放します。次に、音量小キーを押して、もう一度放します。ステップ 2 – プロセスの次の部分は、右側のボタンを押し続けることです。 iPhone の再起動が完了するまで待ちます。セルラーデータを有効にし、ネットワーク速度を確認します。もう一度確認してください 修正 2 – データ モードを変更する 5G はより優れたネットワーク速度を提供しますが、信号が弱い場合はより適切に機能します

iPhoneのカメラとマイクへのアクセスを許可できません iPhoneのカメラとマイクへのアクセスを許可できません Apr 23, 2024 am 11:13 AM

アプリを使用しようとすると、「カメラとマイクへのアクセスを許可できません」というメッセージが表示されますか?通常、カメラとマイクのアクセス許可は、必要に応じて特定の人に付与します。ただし、許可を拒否すると、カメラとマイクは機能しなくなり、代わりにこのエラー メッセージが表示されます。この問題の解決は非常に基本的なもので、1 ~ 2 分で解決できます。解決策 1 – カメラ、マイクの権限を提供する 必要なカメラとマイクの権限を設定で直接提供できます。ステップ 1 – [設定] タブに移動します。ステップ 2 – [プライバシーとセキュリティ] パネルを開きます。ステップ 3 – そこで「カメラ」権限をオンにします。ステップ 4 – 内部には、携帯電話のカメラの許可を要求したアプリのリストが表示されます。ステップ5 – 指定したアプリの「カメラ」を開きます

超知性の生命力が覚醒する!しかし、自己更新 AI の登場により、母親はデータのボトルネックを心配する必要がなくなりました。 超知性の生命力が覚醒する!しかし、自己更新 AI の登場により、母親はデータのボトルネックを心配する必要がなくなりました。 Apr 29, 2024 pm 06:55 PM

世界は狂ったように大きなモデルを構築していますが、インターネット上のデータだけではまったく不十分です。このトレーニング モデルは「ハンガー ゲーム」のようであり、世界中の AI 研究者は、データを貪欲に食べる人たちにどのように餌を与えるかを心配しています。この問題は、マルチモーダル タスクで特に顕著です。何もできなかった当時、中国人民大学学部のスタートアップチームは、独自の新しいモデルを使用して、中国で初めて「モデル生成データフィード自体」を実現しました。さらに、これは理解側と生成側の 2 つの側面からのアプローチであり、両方の側で高品質のマルチモーダルな新しいデータを生成し、モデル自体にデータのフィードバックを提供できます。モデルとは何ですか? Awaker 1.0 は、中関村フォーラムに登場したばかりの大型マルチモーダル モデルです。チームは誰ですか?ソフォンエンジン。人民大学ヒルハウス人工知能大学院の博士課程学生、ガオ・イージャオ氏によって設立されました。

アメリカ空軍が初のAI戦闘機を公開し注目を集める!大臣はプロセス全体を通じて干渉することなく個人的にテストを実施し、10万行のコードが21回にわたってテストされました。 アメリカ空軍が初のAI戦闘機を公開し注目を集める!大臣はプロセス全体を通じて干渉することなく個人的にテストを実施し、10万行のコードが21回にわたってテストされました。 May 07, 2024 pm 05:00 PM

最近、軍事界は、米軍戦闘機が AI を使用して完全自動空戦を完了できるようになったというニュースに圧倒されました。そう、つい最近、米軍のAI戦闘機が初めて公開され、その謎が明らかになりました。この戦闘機の正式名称は可変安定性飛行シミュレーター試験機(VISTA)で、アメリカ空軍長官が自ら飛行させ、一対一の空戦をシミュレートした。 5 月 2 日、フランク ケンダル米国空軍長官は X-62AVISTA でエドワーズ空軍基地を離陸しました。1 時間の飛行中、すべての飛行動作が AI によって自律的に完了されたことに注目してください。ケンダル氏は「過去数十年にわたり、私たちは自律型空対空戦闘の無限の可能性について考えてきたが、それは常に手の届かないものだと思われてきた」と語った。しかし今では、

See all articles