ホームページ バックエンド開発 PHPチュートリアル Keep-Alive モードで HTTP リクエストの終了を判断する実装コード_PHP チュートリアル

Keep-Alive モードで HTTP リクエストの終了を判断する実装コード_PHP チュートリアル

Jul 21, 2016 pm 03:25 PM
eof http keep-alive コード 判断 成し遂げる モデル 仕上げる 聞く

したがって、リクエストの終了は EOF に基づいて判断できます。次のコード (PHP) が非常に一般的です:

コードをコピー コードは次のとおりです:

// $fp は、によって生成されたハンドルです。 fsockopen()
while(! feof($fp)) {
echo fgets($fp);
}

(注: 短い接続モードにはヘッダーに「Connection: close」とマークが付けられ、長い接続モードには現在、HTTP/1.0 はデフォルトで短い接続を使用し、HTTP/1.1 はデフォルトで長い接続を使用します。)
長い接続 (永続的な接続とも呼ばれます) モードのサーバーは、接続を切断しません。データ送信後に接続を維持しますが、それを次の HTTP リクエストまで保持します。これを使用すると、TCP 接続を共有することで、後続のリクエスト中の接続の確立/切断のオーバーヘッドが節約できることが明らかです。 TCP 接続が終了(タイムアウトまたはエラー)するまで EOF は送信されないため、上記の方法では HTTP リクエストの終了を判断できません。これは、長い接続を使用する場合にも発生する問題です。現在、主に 2 つの判断方法があります:
(1) ヘッダーの Content-Length フィールドに基づく。このフィールドはテキストの長さを示し、指定された長さの文字を受信することに基づいて終了を判断できます。
(2) Content-Lengthがない場合、Transfer-Encodingに基づく。テキストが動的に生成される可能性があるため、サーバーがテキストのサイズを判断できない場合があるため、Content-Length が提供されず、代わりにチャンク エンコーディングが使用されてテキストを部分ごとに送信します。各チャンク ブロックは、ヘッダーとボディの 2 つの部分で構成されます。ヘッダー内の 16 進数はボディの長さを指定します。最後に、長さ 0 のチャンク ブロックは HTTP ボディ全体の終わりを示します。
以下では、Content-Length がある場合の判定メソッドを PHP を使用して実装します:
1. Content-Length の値を取得します
コードをコピーします コードは次のとおりです:

$length = 0 ;
$line = ' ';
while($line !== "rn") {
$line = fgets($fp);
if(substr($line, 0, 15) === ' :') {
$ length = intval(substr($line, 16));
}
}

2. コードをコピーします
コードは次のとおりです。
$sum = 0; while($sum $sum += strlen($line);


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

www.bkjia.com

tru​​e
http://www.bkjia.com/PHPjc/324034.html

技術記事

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

Huawei 携帯電話にデュアル WeChat ログインを実装するにはどうすればよいですか? Huawei 携帯電話にデュアル WeChat ログインを実装するにはどうすればよいですか? Mar 24, 2024 am 11:27 AM

Huawei 携帯電話にデュアル WeChat ログインを実装するにはどうすればよいですか?ソーシャルメディアの台頭により、WeChatは人々の日常生活に欠かせないコミュニケーションツールの1つになりました。ただし、多くの人は、同じ携帯電話で同時に複数の WeChat アカウントにログインするという問題に遭遇する可能性があります。 Huawei 社の携帯電話ユーザーにとって、WeChat の二重ログインを実現することは難しくありませんが、この記事では Huawei 社の携帯電話で WeChat の二重ログインを実現する方法を紹介します。まず第一に、ファーウェイの携帯電話に付属するEMUIシステムは、デュアルアプリケーションを開くという非常に便利な機能を提供します。アプリケーションのデュアルオープン機能により、ユーザーは同時に

iPhoneでサイレントモードが機能しない:修正 iPhoneでサイレントモードが機能しない:修正 Apr 24, 2024 pm 04:50 PM

おやすみモードで電話に応答することさえ、非常に煩わしい経験になる可能性があります。名前が示すように、おやすみモードでは、すべての着信通知と電子メール、メッセージなどからの警告がオフになります。これらのソリューション セットに従って問題を修正できます。解決策 1 – フォーカス モードを有効にする 携帯電話でフォーカス モードを有効にします。ステップ 1 – 上から下にスワイプしてコントロール センターにアクセスします。ステップ 2 – 次に、携​​帯電話の「フォーカスモード」を有効にします。フォーカス モードでは、電話機のサイレント モードが有効になります。携帯電話に着信通知が表示されることはありません。解決策 2 – フォーカス モード設定を変更する フォーカス モード設定に問題がある場合は、修正する必要があります。ステップ 1 – iPhone の設定ウィンドウを開きます。ステップ 2 – 次に、フォーカス モード設定をオンにします

Huawei携帯電話にWeChatクローン機能を実装する方法 Huawei携帯電話にWeChatクローン機能を実装する方法 Mar 24, 2024 pm 06:03 PM

Huawei 携帯電話に WeChat クローン機能を実装する方法 ソーシャル ソフトウェアの人気と人々のプライバシーとセキュリティの重視に伴い、WeChat クローン機能は徐々に人々の注目を集めるようになりました。 WeChat クローン機能を使用すると、ユーザーは同じ携帯電話で複数の WeChat アカウントに同時にログインできるため、管理と使用が容易になります。 Huawei携帯電話にWeChatクローン機能を実装するのは難しくなく、次の手順に従うだけです。ステップ 1: 携帯電話システムのバージョンと WeChat のバージョンが要件を満たしていることを確認する まず、Huawei 携帯電話システムのバージョンと WeChat アプリが最新バージョンに更新されていることを確認します。

チームファイト タクティクス S11 はいつ終了しますか? チームファイト タクティクス S11 はいつ終了しますか? Mar 18, 2024 pm 03:16 PM

チームファイト タクティクスの各シーズンは約 3 か月続きます。現在、チームファイト タクティクス S11 シーズンの米国テスト サーバーは 3 月 7 日に更新および開始され、チームファイト タクティクスとゴールデン ショベルは 3 月 21 日に更新および開始されます。シーズンはおそらく7月上旬に終了するでしょう。 TFT S11 はいつ終了しますか? 回答: 7 月上旬。 1. S11 シーズンは 7 月上旬に終了すると推測されており、具体的な終了日は公式発表を待つ必要があります。 2. Teamfight Tactics の各シーズンは約 3 か月続きます。 3. チームファイト タクティクス S11 シーズンの米国テスト サーバーは 3 月 7 日に更新および開始され、チームファイト タクティクスとゴールデン ショベルは 3 月 21 日に更新および開始されます。 4. 新しいゲームプレイメカニズムが S11 シーズンに追加され、20 を超える新しいオーン アーティファクトが追加されます。

Go EOF エラー ガイド: よくある落とし穴を回避する Go EOF エラー ガイド: よくある落とし穴を回避する Apr 08, 2024 am 09:45 AM

EOF エラーは Go 言語でよく発生し、ファイルの終わりから読み取るときに発生します。処理方法には、1. io.EOF を明示的にチェックする、2. io.EOF 型アサーションを使用する、3. ラッピング エラーを使用するなどがあります。 EOF エラーを処理すると、プログラムが予期せずクラッシュすることがなくなり、プログラムがより堅牢になります。

PHP プログラミング ガイド: フィボナッチ数列を実装する方法 PHP プログラミング ガイド: フィボナッチ数列を実装する方法 Mar 20, 2024 pm 04:54 PM

プログラミング言語 PHP は、さまざまなプログラミング ロジックやアルゴリズムをサポートできる、Web 開発用の強力なツールです。その中でも、フィボナッチ数列の実装は、一般的で古典的なプログラミングの問題です。この記事では、PHP プログラミング言語を使用してフィボナッチ数列を実装する方法を、具体的なコード例を添付して紹介します。フィボナッチ数列は、次のように定義される数学的数列です。数列の最初と 2 番目の要素は 1 で、3 番目の要素以降、各要素の値は前の 2 つの要素の合計に等しくなります。シーケンスの最初のいくつかの要素

Golang がゲーム開発の可能性を可能にする方法をマスターする Golang がゲーム開発の可能性を可能にする方法をマスターする Mar 16, 2024 pm 12:57 PM

今日のソフトウェア開発分野では、効率的で簡潔かつ同時実行性の高いプログラミング言語として、Golang (Go 言語) が開発者にますます好まれています。豊富な標準ライブラリと効率的な同時実行機能により、ゲーム開発の分野で注目を集めています。この記事では、ゲーム開発に Golang を使用する方法を検討し、具体的なコード例を通じてその強力な可能性を示します。 1. ゲーム開発における Golang の利点 Golang は静的型付け言語として、大規模なゲーム システムの構築に使用されます。

PHP ゲーム要件実装ガイド PHP ゲーム要件実装ガイド Mar 11, 2024 am 08:45 AM

PHP ゲーム要件実装ガイド インターネットの普及と発展に伴い、Web ゲーム市場の人気はますます高まっています。多くの開発者は、PHP 言語を使用して独自の Web ゲームを開発することを望んでおり、ゲーム要件の実装は重要なステップです。この記事では、PHP 言語を使用して一般的なゲーム要件を実装する方法を紹介し、具体的なコード例を示します。 1. ゲームキャラクターの作成 Web ゲームにおいて、ゲームキャラクターは非常に重要な要素です。ゲームキャラクターの名前、レベル、経験値などの属性を定義し、これらを操作するメソッドを提供する必要があります。

See all articles