検索
ホームページバックエンド開発PHPの問題PHPの長い接続と短い接続の違い

#最初に、短いリンクと長いリンクの違いを紹介します。

PHPの長い接続と短い接続の違い

##短いリンク #接続->データ転送->接続を閉じる (推奨学習:

PHP プログラミングの入門から習熟まで

)たとえば、HTTP はステートレスなショート リンク、ブラウザ、およびサーバーです。 HTTP 操作が実行され、接続が確立されますが、タスクが完了すると接続は終了します。

具体的には、ブラウザ クライアントが TCP 接続を開始して確立します -> クライアントが HttpRequest メッセージを送信します -> サーバーがメッセージを受信します -> サーバー ハンドルが呼び出され、フロント エンドに HttpResponse メッセージを送信しますsocket.close メソッドを送信した直後 - > クライアントが応答メッセージを受信 - > クライアントは最終的にサーバーから TCP 接続を切断する信号を受信します - > クライアントは、具体的には close メソッドを呼び出すことによって TCP 接続を切断します。

また、ショートコネクションとは、SOCKET を接続した後、データの送受信を行った直後にコネクションが切断されることを意味します。

データ受信後に接続が切断されるため、データを受け付けて処理するたびに連絡が行われることはありません。これが、HTTP プロトコルがステートレスである理由の 1 つです。

長い接続

接続->データ転送->接続を維持->データ転送->...... ->一方の当事者が接続を閉じるまで、クライアントが接続を閉じる可能性があります。

長い接続とは、SOCKET 接続を確立した後、使用するかどうかに関係なく接続が維持されることを意味しますが、セキュリティは貧弱です。

PHP スクリプトにアクセスするたびに、すべての PHP スクリプトが実行された後にのみ戻り結果が得られます。スクリプトを継続的に実行する必要がある場合は、操作の目的を達成するために PHP の長い接続を使用する必要があります。


一般的な php 環境は apache php linux ですが、apache には php 接続の時間制限があるため、通常、接続時間がこの時間を超えると、Apache サーバーは自動的に切断されます。

この場合、より簡単で便利な方法は、php ページで set_time_limit(0) を設定することです (もちろん、php.ini 設定ファイルでも設定できますが、これはすべての接続が長時間接続され、サービスのパフォーマンスに影響を与える可能性があります)

各 PHP スクリプトには実行時間が制限されているため、PHP スクリプトの実行時間を設定する必要がありますset_time_limit を使用してスクリプトを無制限にし、flush() と ob_flush() を使用してサーバー バッファをクリアし、いつでもスクリプトの戻り値を出力します。

<?php   
header("Content-Type: text/plain");   
set_time_limit(0);   
  
while( true )   
{   
// 持续执行的脚本  
flush();   
ob_flush();   
sleep(5);   
}   
?>

実行後、5秒ごとに実行することで、バックグラウンド監視プログラム、スケジュール実行機能、ログ分析、データソートなどの多くの機能を時間操作で完了させることができます。

以上がPHPの長い接続と短い接続の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 Mac版

SublimeText3 Mac版

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

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 中国語版

SublimeText3 中国語版

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

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール