溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Swoole如何安裝使用

發(fā)布時(shí)間:2021-01-22 10:56:03 來(lái)源:億速云 閱讀:184 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹Swoole如何安裝使用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

1. 安裝

目前官方推薦兩種方式

1).使用pecl的方式安裝

pecl install swoole

2).使用源碼安裝,推薦下載releases版本的swoole,最好不要從github主干上拉取代碼編譯,直接下載tar包。

swoole包下載地址

然后進(jìn)行編譯安裝

    wget https://github.com/swoole/swoole-src/archive/v2.0.7.tar.gz
    tar -zxf v2.0.7.tar.gz
    cd swoole-src-2.0.7/
    phpize     //如果執(zhí)行這個(gè)命令沒(méi)有任何顯示的話,使用apt-get install php7.0-dev安裝包
    ./configure
    make && make install

2. 更改php.ini擴(kuò)展

修改php.ini配置文件,使用命令 php -i |grep php.ini 查看php.ini位置
增加配置

    extension=swoole.so

通過(guò)php -m或phpinfo()來(lái)查看是否成功加載了swoole

3. 栗子TCP服務(wù)器,三次握手

簡(jiǎn)單理解Socket

編寫(xiě) server.php

    //創(chuàng)建Server對(duì)象,監(jiān)聽(tīng) 127.0.0.1:9501端口$serv = new swoole_server("127.0.0.1", 9501); 

    //監(jiān)聽(tīng)連接進(jìn)入事件$serv->on('connect', function ($serv, $fd) { 
        echo "Client: Connect.\n";
    });

    //監(jiān)聽(tīng)數(shù)據(jù)接收事件$serv->on('receive', function ($serv, $fd, $from_id, $data) {
        $serv->send($fd, "Server: ".$data);
        echo "Receive message:$data";
        //關(guān)閉連接(當(dāng)然,也可以不關(guān)閉,不關(guān)閉的話會(huì)一直等待接收命令而無(wú)法退出)
        $serv->close($fd);
    });

    //監(jiān)聽(tīng)連接關(guān)閉事件$serv->on('close', function ($serv, $fd) {
        echo "Client: Close.\n";
    });

    //啟動(dòng)服務(wù)器$serv->start();

4. 啟動(dòng)服務(wù)

    php server.php

啟動(dòng)后,光標(biāo)即停止在這里,等待其他用戶連接。

5. 查看連接

使用命令 netstat -an | grep 端口 來(lái)查看端口是否處于 Listening狀態(tài)

    netstat -an | grep 9501

(PS: 注意服務(wù)器所使用的IP地址,如果是127.0.0.1回環(huán)地址,則客戶端只能使用127.0.0.1才能連接上)

6. 測(cè)試TCP服務(wù)器

新開(kāi)窗口使用 telnet 連接服務(wù)器

    telnet 127.0.0.1 9501

此時(shí),觀察啟動(dòng)服務(wù)的機(jī)器,會(huì)發(fā)現(xiàn)有返回?cái)?shù)據(jù)

    php server.php
    > Client:Connect.

在返回客戶端,輸入hellp world,發(fā)現(xiàn)寫(xiě)入和讀取成功

    root@iZ28evegw6zZ:~# telnet 127.0.0.1 9501
    Trying 127.0.0.1...
    Connected to 127.0.0.1.
    Escape character is '^]'.
    hellp world      //此處是輸入的命令
    Server:hellp world    //recv()讀取命令成功
    Connection closed by foreign host.   //退出成功
    返回到服務(wù)器端觀察
    root@iZ28evegw6zZ:/var/www/html# php server.php
    Client: Connect.   //連接成功消息
    Receive message: hellp world   //接收到數(shù)據(jù)
    Client:Close.   //客戶端退出成功

以上是“Swoole如何安裝使用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI