物聯網之實時通訊,使用WorkerMan建立自己的websocket伺服器
昨天的文章講述瞭如何利用Workerman建立Websocket實時通訊伺服器,今天我們來說說如何利用Swoole建立Websocket伺服器。
Swoole與Websocket的相同點在於,兩者都是跑在PHP-cli模式下。但本質上有很大的區別。Websocket是純PHP編寫的通訊框架,而Swoole則是PHP的一個擴充套件。佈署會有所區別,應用時則非常相似。
那麼做通訊應用時該選哪一個呢?其實是沒有一個很明確的說法。主要還是看你當前的業務模式、未來業務的發展方向以及規模,當然跟你業務的架構也有關係,小搜就不隨便推薦了。畢竟最適合自己的就是最好的。
接下來我們展開正題:
一、安裝Swoole擴充套件
#!/bin/bashpecl install swoole
正常情況下,鍵入命令後,就能進入自動安裝流程。但這裡需要注意的是如果安裝的swoole4,需用的gcc編譯器版本為4。8+。
二、建立websocket服務
建立一個websocket。php,並編輯其內容如下:
<?php$server = new swoole_websocket_server(“127。0。0。1”, 9502);$server->on(‘open’, function($server, $req) { echo “connection open: {$req->fd}\n”;});$server->on(‘message’, function($server, $frame) { echo “received message: {$frame->data}\n”; $server->push($frame->fd, json_encode([“hello”, “world”]));});$server->on(‘close’, function($server, $fd) { echo “connection close: {$fd}\n”;});$server->start();
三、除錯webocket
從上圖可以看出,測試結果正常。
好啦,這期就到這裡啦,喜歡小搜的同學們,請持續關注哦。後面會繼續為大家帶來更實用的知識。