ホームページ >バックエンド開発 >PHPチュートリアル >PHP ソケット テクノロジーの簡単な分析_PHP チュートリアル

PHP ソケット テクノロジーの簡単な分析_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 14:59:58848ブラウズ

phpsocketSocket は TCP/IP プロトコルの伝送制御プロトコルにあり、クライアントサーバーモードで非同期通信を提供します。つまり、クライアントはサーバーにサービスリクエストを送信し、サーバーはサービスリクエストを受信した後に対応するフィードバックまたはサービスを提供します。リクエスト!最も基本的な例を実践しました:

ブロッキング (ブロック) 接続を使用して開始します。つまり、サーバーがデータ ストリームを返さない場合、データ ストリームが受信されると、コンテンツの取得後すぐに接続が切断されます。コードは次のとおりです:

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

$host = www.sohu.com //このアドレスは、Sina のアドレスを使用できます。主にテスト用です。どちらでも構いません
$page = "/index.html";
$port = 80;
$request = "GET $page HTTP/1.1rn";
$request .= "ホスト: $hostrn";
//$request .= "Referer:$hostrn";
$request .= "Connection: Closenrn";
//接続タイムアウトを 1.5 秒にします
$connectionTimeout = 1.5;
/ /リモートサーバーが 2 秒以内に応答を完了できるようにします
$responseTimeout = 2;
//ソケット接続を確立します
$fp = fsockopen($host, $port, $errno, $errstr, $connectionTimeout);
if ( !$fp) {
throw new Exception("Connection to $hostfailed :$errstr");
} else {
stream_set_blocking($fp, true);
stream_set_timeout($fp, $responseTimeout);
}
//送信リクエスト文字列
fwrite($fp, $request);
/ /返されたデータストリームコンテンツを取得します
$content = stream_get_contents($fp);
echo $content;
$meta = stream_get_meta_data($fp);
if ( $meta['timed_out']) {
throw new Exception(" Web サービスサーバーからの応答がタイムアウトしました。");
}
//ソケット接続を閉じます
fclose($fp);
?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/328092.html技術記事 phpsocketSocket は TCP/IP プロトコルの伝送制御プロトコルにあり、クライアント/サーバー モードで非同期通信を提供します。つまり、クライアントはサーバーにサービス リクエストを送信し、サーバーがリクエストを受信した後、対応するサービスを提供します。 ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。