workman php教程_workerman搭建websocket入门教程,简单实用
在物聯網控制遠程硬件的過程中,實時通信是必不可少的。不用實時通信可不可以呢?當然是可以的,但在實際應用中的體驗可能就十分的不好了。
試想一下,一個聯網電燈,控制端命令發出去,電燈要2到3秒鐘以后才能開關。這種體驗實在太差勁了。
那么我們該如何實現實時通訊呢?
最常用的一種就是Websocket。后端能實現websocket的語方很多,例如Node.js,Go,Python,dotnet core,java。
websocket與http的區別
當然php也可以做到,只是要依賴這篇要展開說的Workerman。
workerman是一個高性能的PHP socket 服務器框架。
小智選擇Workerman的理由不僅是因為它的性能不錯,終其原因是:作為PHP開發者之一的我,workerman布署簡單,學習成本低是最主要的原因。
說到workerman同學們可能會說swoole也很不錯。沒錯swoole也是個好東西,小智會開專文來講述它的。
好了,現在我們開始進入正題,如何使用workerman創建屬于自己的websocket服務器。
1.下載workerman
workerman可以到基友站下載,也可以在其官方直接下載。
下載workerman
這里我們在官方網站直接下載,得到一個zip包。
2.部署workerman并編寫test.php
解壓剛剛下載的zip包到C盤根目錄下。
進入workerman-master目錄,然后新建一個test.php,內容如下:
<?phpuse Workerman\Worker;require_once __DIR__ . '/Autoloader.php';// 創建一個Worker監聽2345端口,使用http協議通訊$http_worker = new Worker("websocket://0.0.0.0:2345");// 啟動4個進程對外提供服務$http_worker->count = 4;// 接收到瀏覽器發送的數據時回復hello world給瀏覽器$http_worker->onMessage = function($connection, $data){var_dump($data);// 向瀏覽器發送hello world$connection->send('hello world');};Worker::runAll();
3.調試test.php
運行命令行工具并進入c:\workerman-master目錄,輸入命令php test.php start
運行結果
看到這樣的畫面,就證明websocket服務器已經成功建立。接下來我們來測試一下。
測試websocket服務器是否正常
從上圖可以看出,我們的websocket服務器是正常的,能夠收到消息,也能回復消息到客戶端。
總結
以上是生活随笔為你收集整理的workman php教程_workerman搭建websocket入门教程,简单实用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络流重制版:最大流Dinic,以及EK
- 下一篇: Android热修复技术原理中的代码热修