欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺析PHP Socket技術(shù)

 更新時(shí)間:2013年08月02日 09:30:40   投稿:jingxian  
使用并發(fā)起一個(gè)阻塞式(block)連接,即服務(wù)器如果不返回?cái)?shù)據(jù)流,則一直保持連接狀態(tài),一旦有數(shù)據(jù)流傳入,取得內(nèi)容后就立即斷開(kāi)連接

phpsocketSocket位于TCP/IP協(xié)議的傳輸控制協(xié)議,提供客戶(hù)-服務(wù)器模式的異步通信,即客戶(hù)向服務(wù)器發(fā)出服務(wù)請(qǐng)求,服務(wù)器接收到請(qǐng)求后,提供相應(yīng)的反饋或服務(wù)!我練習(xí)了一個(gè)最基本的例子:

使用并發(fā)起一個(gè)阻塞式(block)連接,即服務(wù)器如果不返回?cái)?shù)據(jù)流,則一直保持連接狀態(tài),一旦有數(shù)據(jù)流傳入,取得內(nèi)容后就立即斷開(kāi)連接。代碼如下:

復(fù)制代碼 代碼如下:

<?php
$host = www.sohu.com; //這個(gè)地址隨便,用新浪的也行,主要是測(cè)試用,哪個(gè)無(wú)所謂
$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";
//允許連接的超時(shí)時(shí)間為1.5秒
$connectionTimeout = 1.5;
//允許遠(yuǎn)程服務(wù)器2秒鐘內(nèi)完成回應(yīng)
$responseTimeout = 2;
//建立一個(gè)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);
}
//發(fā)送請(qǐng)求字符串
fwrite($fp, $request);
//取得返回的數(shù)據(jù)流內(nèi)容
$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.");
}
//關(guān)閉Socket連接
fclose($fp);
?>

相關(guān)文章

  • PHP實(shí)現(xiàn)鏈表的定義與反轉(zhuǎn)功能示例

    PHP實(shí)現(xiàn)鏈表的定義與反轉(zhuǎn)功能示例

    這篇文章主要介紹了PHP實(shí)現(xiàn)鏈表的定義與反轉(zhuǎn)功能,結(jié)合實(shí)例形式分析了PHP鏈表的基本定義、添加、移除、遍歷以及兩種反轉(zhuǎn)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2018-06-06
  • PHP閉包函數(shù)詳解

    PHP閉包函數(shù)詳解

    這篇文章主要為大家詳細(xì)介紹了PHP閉包函數(shù),閉包函數(shù)沒(méi)有函數(shù)名稱(chēng),直接在function()傳入變量即可 使用時(shí)將定義的變量當(dāng)作函數(shù)來(lái)處理,對(duì)PHP閉包函數(shù)感興趣的朋友可以參考一下
    2016-02-02
  • php中使用Akismet防止垃圾評(píng)論的代碼

    php中使用Akismet防止垃圾評(píng)論的代碼

    Akismet是一個(gè)優(yōu)秀的防Spam垃圾留言的優(yōu)秀插件,絕大多數(shù)wordpress blogger都在使用,有了akismet之后,基本上不用擔(dān)心垃圾留言的煩惱了。
    2011-06-06
  • php異常處理捕獲錯(cuò)誤整理

    php異常處理捕獲錯(cuò)誤整理

    在本篇文章里小編給大家整理的是關(guān)于php異常處理捕獲哪些錯(cuò)誤的相關(guān)知識(shí)點(diǎn),有需要的朋友們學(xué)習(xí)下。
    2019-09-09
  • PHP實(shí)現(xiàn)的數(shù)獨(dú)求解問(wèn)題示例

    PHP實(shí)現(xiàn)的數(shù)獨(dú)求解問(wèn)題示例

    這篇文章主要介紹了PHP實(shí)現(xiàn)的數(shù)獨(dú)求解問(wèn)題,涉及php數(shù)組與字符串的遍歷、比較、判斷、運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下
    2017-04-04
  • PHP文件打開(kāi)關(guān)閉及讀寫(xiě)操作示例解析

    PHP文件打開(kāi)關(guān)閉及讀寫(xiě)操作示例解析

    這篇文章主要介紹了PHP文件打開(kāi)關(guān)閉及讀寫(xiě)操作示例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • php輸出反斜杠的實(shí)例方法

    php輸出反斜杠的實(shí)例方法

    在本篇文章中我們給大家分享的是關(guān)于php如何輸出反斜杠實(shí)例內(nèi)容以及相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。
    2019-09-09
  • PHP回調(diào)函數(shù)概念與用法實(shí)例分析

    PHP回調(diào)函數(shù)概念與用法實(shí)例分析

    這篇文章主要介紹了PHP回調(diào)函數(shù)概念與用法,簡(jiǎn)單介紹了回調(diào)函數(shù)的概念、原理,并結(jié)合實(shí)例形式分析了回調(diào)函數(shù)的相關(guān)使用技巧,需要的朋友可以參考下
    2017-11-11
  • PHP查詢(xún)附近的人及其距離的實(shí)現(xiàn)方法

    PHP查詢(xún)附近的人及其距離的實(shí)現(xiàn)方法

    這篇文章主要介紹了PHP查詢(xún)附近的人及其距離的實(shí)現(xiàn)方法,涉及php數(shù)學(xué)運(yùn)算的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-05-05
  • php中實(shí)現(xiàn)獲取隨機(jī)數(shù)組列表的自定義函數(shù)

    php中實(shí)現(xiàn)獲取隨機(jī)數(shù)組列表的自定義函數(shù)

    這篇文章主要介紹了php中實(shí)現(xiàn)獲取隨機(jī)數(shù)組列表的自定義函數(shù),本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-04-04

最新評(píng)論