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

基于php socket(fsockopen)的應(yīng)用實例分析

 更新時間:2013年06月02日 16:59:38   作者:  
本篇文章是對php socket(fsockopen)的應(yīng)用實例進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
fsockopen函數(shù)能夠運用,首先要開啟php.ini中的allow_url_open=on;
fsockopen是對socket客戶端代碼的封裝,該函數(shù)中封裝了socket_create,socket_connect。
服務(wù)器端代碼:server.php
復(fù)制代碼 代碼如下:

<?php
error_reporting(E_ALL);
set_time_limit(0);
$address = '127.0.0.1';
$port = 10008;
//創(chuàng)建端口
if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
echo "socket_create() failed:reason:" . socket_strerror(socket_last_error()) . "\n";
}
//綁定
if (socket_bind($sock, $address, $port) === false) {
echo "socket_bind() failed :reason:" . socket_strerror(socket_last_error($sock)) . "\n";
}
//監(jiān)聽
if (socket_listen($sock, 5) === false) {
echo "socket_bind() failed :reason:" . socket_strerror(socket_last_error($sock)) . "\n";
}
while (true) {
//得到一個鏈接
if (($msgsock = socket_accept($sock)) === false) {
echo "socket_accepty() failed :reason:".socket_strerror(socket_last_error($sock)) . "\n";
break;
}
//welcome 發(fā)送到客戶端
$msg = "1.<font color='red'>server send:welcome</font><br/>";
socket_write($msgsock, $msg, strlen($msg)); //返回信息給客戶端
echo 'read client message\n';
$buf = socket_read($msgsock, 8192); //獲取客戶端發(fā)送過來的信息
$talkback = "2.received message:$buf\n";
echo $talkback;
if (false === socket_write($msgsock, $talkback, strlen($talkback))) { //返回信息給客戶端
echo "socket_write() failed reason:" . socket_strerror(socket_last_error($sock)) ."\n";
} else {
echo 'send success';
}
socket_close($msgsock);
}
socket_close($sock);

客戶端代碼:fsocket.php
復(fù)制代碼 代碼如下:

<?php
$fp = fsockopen("127.0.0.1", 10008, &$errno, &$errstr, 10);
if (!$fp) {
echo $errstr . " (". $errno . ")<br>n";
} else {
$in = "HEAD / http/1.1\r\n";
$in .= "HOST: localhost \r\n";
$in .= "Connection: close\r\n\r\n";
fputs($fp, $in);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}

相關(guān)文章

  • PHP實現(xiàn)偽靜態(tài)方法匯總

    PHP實現(xiàn)偽靜態(tài)方法匯總

    PHP偽靜態(tài)的使用主要是為了隱藏傳遞的參數(shù)名,下面給大家介紹php實現(xiàn)偽靜態(tài)的方法,對php實現(xiàn)偽靜態(tài)相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • Laravel中簡約卻不簡單的Macroable宏指令詳解

    Laravel中簡約卻不簡單的Macroable宏指令詳解

    這篇文章主要給大家介紹了關(guān)于Laravel中簡約卻不簡單的Macroable宏指令的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧
    2018-07-07
  • PHP與服務(wù)器文件系統(tǒng)的簡單交互

    PHP與服務(wù)器文件系統(tǒng)的簡單交互

    這篇文章主要介紹了PHP與服務(wù)器文件系統(tǒng)的簡單交互的相關(guān)資料,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-10-10
  • php中的array_filter()函數(shù)的使用

    php中的array_filter()函數(shù)的使用

    php中的array_filter()函數(shù)用于篩選數(shù)組中的元素,并返回一個新的數(shù)組,新數(shù)組的元素是所有返回值為true的原數(shù)組元素,本文給大家介紹php中的array_filter()函數(shù)的使用,感興趣的朋友跟隨小編一起看看吧
    2023-08-08
  • Symfony頁面的基本創(chuàng)建實例詳解

    Symfony頁面的基本創(chuàng)建實例詳解

    這篇文章主要介紹了Symfony頁面的基本創(chuàng)建實例詳解,詳細(xì)分析了Symfony頁面的具體創(chuàng)建流程與注意事項,需要的朋友可以參考下
    2015-01-01
  • thinkphp四種url訪問方式詳解

    thinkphp四種url訪問方式詳解

    這篇文章主要介紹了thinkphp四種url訪問方式,簡單分析了ThinkPHPmvc相關(guān)概念并重點講述了URL的四種訪問方式,具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-11-11
  • Yii使用find findAll查找出指定字段的實現(xiàn)方法

    Yii使用find findAll查找出指定字段的實現(xiàn)方法

    這篇文章主要介紹了Yii使用find findAll查找出指定字段的實現(xiàn)方法,非常實用的技巧,需要的朋友可以參考下
    2014-09-09
  • PHP查看SSL證書信息的方法

    PHP查看SSL證書信息的方法

    這篇文章給給大家介紹了如何利用PHP查看SSL證書信息,文中通過圖文和示例給大家介紹,有需要朋友們可以參考借鑒,下面來一起看看吧。
    2016-09-09
  • laravel 查詢數(shù)據(jù)庫獲取結(jié)果實現(xiàn)判斷是否為空

    laravel 查詢數(shù)據(jù)庫獲取結(jié)果實現(xiàn)判斷是否為空

    今天小編就為大家分享一篇laravel 查詢數(shù)據(jù)庫獲取結(jié)果實現(xiàn)判斷是否為空,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • smarty模板引擎之分配數(shù)據(jù)類型

    smarty模板引擎之分配數(shù)據(jù)類型

    這篇文章主要介紹了smarty模板引擎之分配數(shù)據(jù)類型,實例分析了smarty模板引擎數(shù)據(jù)類型的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03

最新評論

塘沽区| 三台县| 灵川县| 都安| 通州市| 新密市| 山东省| 临洮县| 和政县| 车致| 桓仁| 芷江| 砚山县| 礼泉县| 巴中市| 建宁县| 灯塔市| 旅游| 腾冲县| 香格里拉县| 蒙城县| 柏乡县| 阿坝县| 万载县| 苏尼特左旗| 贵溪市| 涟水县| 彝良县| 大洼县| 阿坝县| 安溪县| 安多县| 临西县| 社旗县| 宕昌县| 图们市| 陆良县| 迁安市| 郯城县| 沐川县| 杭锦旗|