這篇文章主要介紹Swoole如何安裝使用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)專業(yè)IDC數(shù)據(jù)服務(wù)器托管提供商,專業(yè)提供成都服務(wù)器托管,服務(wù)器租用,樂山服務(wù)器托管,樂山服務(wù)器托管,成都多線服務(wù)器托管等服務(wù)器托管服務(wù)。
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è)命令沒有任何顯示的話,使用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
通過php -m或phpinfo()來查看是否成功加載了swoole
3. 栗子TCP服務(wù)器,三次握手
簡單理解Socket
編寫 server.php
//創(chuàng)建Server對象,監(jiān)聽 127.0.0.1:9501端口$serv = new swoole_server("127.0.0.1", 9501); //監(jiān)聽連接進(jìn)入事件$serv->on('connect', function ($serv, $fd) { echo "Client: Connect.\n"; }); //監(jiān)聽數(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ì)一直等待接收命令而無法退出) $serv->close($fd); }); //監(jiān)聽連接關(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 端口 來查看端口是否處于 Listening狀態(tài)
netstat -an | grep 9501
(PS: 注意服務(wù)器所使用的IP地址,如果是127.0.0.1回環(huán)地址,則客戶端只能使用127.0.0.1才能連接上)
6. 測試TCP服務(wù)器
新開窗口使用 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)寫入和讀取成功
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)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!