• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    php使用socket編程示例

    來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 22:40:11
    文檔

    php使用socket編程示例

    php使用socket編程示例:2個php測試文件server.php 代碼如下:<php//phpinfo();//確保在連接客戶端時不會超時set_time_limit(0); $ip = '127.0.0.1';$port = 1935; /* +------------------------------- * @socket通信整個過程 +----
    推薦度:
    導讀php使用socket編程示例:2個php測試文件server.php 代碼如下:<php//phpinfo();//確保在連接客戶端時不會超時set_time_limit(0); $ip = '127.0.0.1';$port = 1935; /* +------------------------------- * @socket通信整個過程 +----

    2個php測試文件
    server.php

    代碼如下:
    <?php
    //phpinfo();
    //確保在連接客戶端時不會超時
    set_time_limit(0);

    $ip = '127.0.0.1';
    $port = 1935;

    /*
     +-------------------------------
     *    @socket通信整個過程
     +-------------------------------
     *    @socket_create
     *    @socket_bind
     *    @socket_listen
     *    @socket_accept
     *    @socket_read
     *    @socket_write
     *    @socket_close
     +--------------------------------
     */

    /*----------------    以下操作都是手冊上的    -------------------*/
    if(($sock = socket_create(AF_INET,SOCK_STREAM,SOL_TCP)) < 0) {
        echo "socket_create() 失敗的原因是:".socket_strerror($sock)."\n";
    }

    if(($ret = socket_bind($sock,$ip,$port)) < 0) {
        echo "socket_bind() 失敗的原因是:".socket_strerror($ret)."\n";
    }

    if(($ret = socket_listen($sock,4)) < 0) {
        echo "socket_listen() 失敗的原因是:".socket_strerror($ret)."\n";
    }

    $count = 0;

    do {
        if (($msgsock = socket_accept($sock)) < 0) {
            echo "socket_accept() failed: reason: " . socket_strerror($msgsock) . "\n";
            break;
        } else {

            //發(fā)到客戶端
            $msg ="測試成功!\n";
            socket_write($msgsock, $msg, strlen($msg));

            echo "測試成功了啊\n";
            $buf = socket_read($msgsock,8192);

           
            $talkback = "收到的信息:$buf\n";
            echo $talkback;

            if(++$count >= 5){
                break;
            };

       
        }
        //echo $buf;
        socket_close($msgsock);

    } while (true);

    socket_close($sock);
    ?>


    client.php
    代碼如下:
    <?php
    error_reporting(E_ALL);
    set_time_limit(0);
    echo "<h2>TCP/IP Connection</h2>\n";

    $port = 1935;
    $ip = "127.0.0.1";

    /*
     +-------------------------------
     *    @socket連接整個過程
     +-------------------------------
     *    @socket_create
     *    @socket_connect
     *    @socket_write
     *    @socket_read
     *    @socket_close
     +--------------------------------
     */

    $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    if ($socket < 0) {
        echo "socket_create() failed: reason: " . socket_strerror($socket) . "\n";
    }else {
        echo "OK.\n";
    }

    echo "試圖連接 '$ip' 端口 '$port'...\n";
    $result = socket_connect($socket, $ip, $port);
    if ($result < 0) {
        echo "socket_connect() failed.\nReason: ($result) " . socket_strerror($result) . "\n";
    }else {
        echo "連接OK\n";
    }

    $in = "Ho\r\n";
    $in .= "first blood\r\n";
    $out = '';

    if(!socket_write($socket, $in, strlen($in))) {
        echo "socket_write() failed: reason: " . socket_strerror($socket) . "\n";
    }else {
        echo "發(fā)送到服務器信息成功!\n";
        echo "發(fā)送的內(nèi)容為:<font color='red'>$in</font> <br>";
    }

    while($out = socket_read($socket, 8192)) {
        echo "接收服務器回傳信息成功!\n";
        echo "接受的內(nèi)容為:",$out;
    }

    echo "關閉SOCKET...\n";
    socket_close($socket);
    echo "關閉OK\n";
    ?>

    偵聽
    代碼如下:
    # /usr/local/php/bin/php  /usr/local/apache2/htdocs/server.php

     

    請求 代碼如下:
    # /usr/local/php/bin/php  /usr/local/apache2/htdocs/client.php

    默認PHP是沒有開啟Socket的
      代碼如下:
    #cd ./ext/sockets/
    # /usr/local/php/bin/phpize
    # ./configure --enable-sockets --with-php-config=/usr/local/php/bin/php-config
    # make
    # make install

    php.ini修改配置
    增加
    代碼如下:
    extension=sockets.so

    重啟apache
    代碼如下:
    # /usr/local/apache2/bin/apachectl restart

    Windows下的配置
    修改php.ini
    代碼如下:
    extension=php_sockets.dll

    重啟apache
    cmd下起2個
    php的安裝目錄

      代碼如下:
    C:/php/php.exe   F:web/server.php
    C:/php/php.exe   F:web/client.php

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    php使用socket編程示例

    php使用socket編程示例:2個php測試文件server.php 代碼如下:<php//phpinfo();//確保在連接客戶端時不會超時set_time_limit(0); $ip = '127.0.0.1';$port = 1935; /* +------------------------------- * @socket通信整個過程 +----
    推薦度:
    標簽: php 范例 例子
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 国产乱子伦精品无码码专区| 久久99久久99小草精品免视看 | 亚洲精品视频在线观看你懂的| 国产精品国产三级国产a| 国产精品亚洲аv无码播放| 亚洲性日韩精品一区二区三区 | 四虎永久在线精品国产免费| 精品欧美一区二区在线看片| 久久久久人妻精品一区| 中国精品videossex中国高清| 久久精品亚洲乱码伦伦中文| 精品国产欧美一区二区| 久久无码精品一区二区三区| 一区二区三区精品国产欧美| 99精品热这里只有精品| 国产精品一区在线观看你懂的| 一本色道久久88—综合亚洲精品| WWW国产精品内射老师| 亚洲精品无码av人在线观看| 中文字幕亚洲精品资源网| 亚洲欧美精品AAAAAA片| 久久亚洲国产精品五月天婷| 51视频国产精品一区二区| 日韩精品极品视频在线观看免费| 97精品国产高清自在线看超| 精品国产第1页| 国产精品一在线观看| 国产精品99久久免费观看| 日韩精品一区二区三区色欲AV| 国产成人精品亚洲精品| 中文字幕亚洲精品资源网| 久久久久久久久无码精品亚洲日韩| 99久久国产综合精品五月天喷水| 欧洲成人午夜精品无码区久久| 国产精品成| 9久久9久久精品| 国产高清在线精品一区| 国产在线拍揄自揄视精品不卡| 野狼精品社区| 亚洲国产精品成人精品无码区在线 | 亚洲精品美女久久久久99小说|