您好,登錄后才能下訂單哦!
小編給大家分享一下PHP中Socket技術怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
phpsocketSocket位于TCP/IP協議的傳輸控制協議,提供客戶-服務器模式的異步通信,即客戶向服務器發出服務請求,服務器接收到請求后,提供相應的反饋或服務!我練習了一個最基本的例子:
使用并發起一個阻塞式(block)連接,即服務器如果不返回數據流,則一直保持連接狀態,一旦有數據流傳入,取得內容后就立即斷開連接。代碼如下:
<?php
$host = www.sohu.com; //這個地址隨便,用新浪的也行,主要是測試用,哪個無所謂
$page = "/index.html";
$port = 80;
$request = "GET $page HTTP/1.1\r\n";
$request .= "Host: $host\r\n";
//$request .= "Referer:$host\r\n";
$request .= "Connection: close\r\n\r\n";
//允許連接的超時時間為1.5秒
$connectionTimeout = 1.5;
//允許遠程服務器2秒鐘內完成回應
$responseTimeout = 2;
//建立一個socket連接
$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("Responsefrom web services server timed out.");
}
//關閉Socket連接
fclose($fp);
?>
以上是“PHP中Socket技術怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。