PHP長い接続と短い接続の区別

  

ショート接続

接続 - >データ転送 - >接続を閉じる(推奨研究:マスターへのエントリからPHPプログラミング)

例えば、HTTPはステートレス短いリンク、ブラウザと各HTTP操作のため、一度サーバは、接続を確立しているが、タスクが切断終了します。

送信が完了した直後にsocket.closeメソッドを呼び出すと、>サーバー・ハンドルとフロントのHttpResponseにメッセージを送信する - - >サーバーがメッセージを受信する - >クライアントがメッセージのHttpRequestを送信するために - コンクリートを開始し、TCP接続を確立するために、ブラウザクライアントである>クライアントが応答を受信しメッセージが - >クライアントは、最終的な信号エンドサーバーは、TCPコネクションを切断されます - >クライアントは、TCPコネクションを切断し、具体的な方法は、近い呼び出すことです。

それは言うことができます:短い接続は、データが直ちに切断受信、送信、ソケット接続の後を意味します。

接続が切断された後にデータが受信されるので、各処理時間を受信データには接触がないであろう。また、これはHTTPのステートレスなプロトコル理由の一つです。

ロング接続

接続 - >データを送信する - >接続したまま - >送信データ - > ...........-> 1が接続を閉じるまで、マルチクライアント接続が閉じられます。

長い接続を確立した後にかかわらず、接続が維持されているかどうかの、あまりセキュアソケット接続を指します。

私たちは、PHPスクリプトにアクセスするたびに、PHPスクリプトの実行がすべて完了したとき、我々は結果を取り戻すです。私たちは走り続けスクリプトが必要な場合は、次に我々は、運用の目的を達成するための長い道のり接続をPHPが持っています。

PHPのApacheの+ PHP + Linux用の一般的な環境のですが、ApacheがPHPの接続のための時間制限があるため、接続時間は、Apacheサーバが接続を自動的に切断しますより一般的です。

この場合、比較的簡単で便利な方法は、は、set_time_limit(0)(もちろん、php.iniの設定ファイルで設定することができますを設定することですが、結局、私たちは考えていないPHPページでは、環境に対するこのような影響は、すべての接続のために長くなることがあります常時接続、サービスのパフォーマンスに影響を与えます)

各PHPスクリプトは、実行時間を制限し、私たちはは、set_time_limit実行時間によってスクリプトを設定する必要があり、戻り値の任意の時点で、スクリプトの出力をサーバーバッファを削除するにはフラッシュ()とob_flush()を使用して、無限です。

<?PHPのヘッダ( "のContent-Type:text / plainの");は、set_time_limit(0);一方、(TRUE){//スクリプト)(連続フラッシュ行わ; ob_flush();睡眠(5);}?>

私たちは、5秒ごとに実行すると、私たちは、この方法によって、私たちは、このような背景の監視プログラムとして、機能の多くを行う定期的な機能を実行し、分析、データクレンジングやその他の時間のかかる操作をログに記録することができ、一度に実行されます。

おすすめ

転載: www.cnblogs.com/68xi/p/11528078.html