您好,登錄后才能下訂單哦!
這篇文章主要介紹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è)資訊頻道!
免責(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)容。