最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺析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)容后就立即斷開連接

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

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

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

<?php
$host = www.sohu.com; //這個(gè)地址隨便,用新浪的也行,主要是測試用,哪個(gè)無所謂
$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ā)送請求字符串
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多進(jìn)程簡單實(shí)例小結(jié)

    PHP多進(jìn)程簡單實(shí)例小結(jié)

    這篇文章主要介紹了PHP多進(jìn)程,結(jié)合簡單實(shí)例形式總結(jié)分析了PHP多進(jìn)程相關(guān)原理、實(shí)現(xiàn)方法及操作注意事項(xiàng),需要的朋友可以參考下
    2019-11-11
  • 基于PHP RSA密文過長加密解密 越過1024的解決方法

    基于PHP RSA密文過長加密解密 越過1024的解決方法

    下面小編就為大家分享一篇基于PHP RSA密文過長加密解密 越過1024的解決方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • PHP?array_combine()?函數(shù)內(nèi)置函數(shù)

    PHP?array_combine()?函數(shù)內(nèi)置函數(shù)

    這篇文章主要介紹了PHP?array_combine()函數(shù)內(nèi)置函數(shù),array_combine()是PHP中的一個(gè)內(nèi)置函數(shù),用于組合兩個(gè)數(shù)組并通過使用一個(gè)數(shù)組作為鍵和另一個(gè)數(shù)組作為值來創(chuàng)建一個(gè)新數(shù)組
    2022-09-09
  • php常用表單驗(yàn)證類用法實(shí)例

    php常用表單驗(yàn)證類用法實(shí)例

    這篇文章主要介紹了php常用表單驗(yàn)證類用法,實(shí)例分析了php針對表單元素常用驗(yàn)證技巧,需要的朋友可以參考下
    2015-06-06
  • 編譯PHP報(bào)錯(cuò)configure error Cannot find libmysqlclient under usr的解決方法

    編譯PHP報(bào)錯(cuò)configure error Cannot find libmysqlclient under usr的

    這篇文章主要介紹了Linux上編譯PHP報(bào)錯(cuò)configure error Cannot find libmysqlclient under usr的解決方法,需要的朋友可以參考下
    2014-06-06
  • php組合排序簡單實(shí)現(xiàn)方法

    php組合排序簡單實(shí)現(xiàn)方法

    這篇文章主要介紹了php組合排序簡單實(shí)現(xiàn)方法,涉及php數(shù)據(jù)結(jié)構(gòu)與數(shù)學(xué)運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下
    2016-10-10
  • PHP關(guān)聯(lián)數(shù)組的10個(gè)操作技巧

    PHP關(guān)聯(lián)數(shù)組的10個(gè)操作技巧

    數(shù)組中的元素都有自己的ID,因此可以方便地訪問它們;關(guān)聯(lián)數(shù)組,它的每個(gè)ID 鍵都關(guān)聯(lián)一個(gè)值;這篇文章將介紹10個(gè)操作PHP關(guān)聯(lián)數(shù)組的技巧,熟練運(yùn)用能幫助你提高開發(fā)效率
    2013-01-01
  • 五個(gè)PHP程序員工具

    五個(gè)PHP程序員工具

    PHP程序員都應(yīng)該知道的工具在參與了幾個(gè)大型PHP項(xiàng)目,寫了很多PHP代碼以后,我發(fā)現(xiàn)很多工具可以提高代碼質(zhì)量,簡化發(fā)布,使得做為PHP開發(fā)人員的生涯變得輕松許多。許多這樣的工具可能已經(jīng)為大家所用。但是,由于一些人甚至沒有注意到這些工具的存在,我會(huì)從此開始,好了,不說廢話,下面是我認(rèn)為所有PHP程序員應(yīng)該知道的工具列表。
    2008-05-05
  • 用PHP偽造referer突破網(wǎng)盤禁止外連的代碼

    用PHP偽造referer突破網(wǎng)盤禁止外連的代碼

    一般的國內(nèi)網(wǎng)盤為控制流量,都會(huì)禁止網(wǎng)盤內(nèi)的文件外鏈。點(diǎn)網(wǎng)盤里文件的鏈接一般都會(huì)轉(zhuǎn)到專門的下載頁面,必須從這個(gè)頁面才能下載文件。
    2008-06-06
  • PHP 將dataurl轉(zhuǎn)成圖片image方法總結(jié)

    PHP 將dataurl轉(zhuǎn)成圖片image方法總結(jié)

    這篇文章主要介紹了PHP 將dataurl轉(zhuǎn)成圖片image方法的相關(guān)資料,這里提供了兩種方法及實(shí)現(xiàn)方式,需要的朋友可以參考下
    2016-10-10

最新評論

通化市| 偃师市| 津市市| 石家庄市| 龙南县| 黄骅市| 石狮市| 沿河| 乳山市| 东乌| 酒泉市| 乌海市| 顺平县| 开阳县| 红河县| 平利县| 浦县| 独山县| 遂宁市| 广州市| 咸宁市| 南漳县| 盘山县| 南投县| 青神县| 洪雅县| 临朐县| 龙井市| 图们市| 同德县| 库车县| 华容县| 文化| 岳阳县| 皋兰县| 尚志市| 南溪县| 郎溪县| 新巴尔虎右旗| 定安县| 沈阳市|