1. 程式人生 > 程式設計 >php中Workerman框架例項講解

php中Workerman框架例項講解

在我們探討php框架的開發時,更多的是偏向於理論的框架。那麼本篇要講的Workerman框架,與其他的框架有很大的不同,可以廣泛的應用在生活中。我們平時所用到的軟體,也許正是Workerman開發出來的。下面我們就php中Workerman框架的概念、與其他框架區別帶來講解。

1、概念

Workerman是一款純PHP開發的開源高效能的PHP socket 伺服器框架。被廣泛的用於手機app、移動通訊,微信小程式,手遊服務端、網路遊戲、PHP聊天室、硬體通訊、智慧家居、車聯網、物聯網等領域的開發。 支援TCP長連線,支援Websocket、HTTP等協議,支援自定義協議。擁有非同步Mysql、非同步Redis、非同步Http、非同步訊息佇列等眾多高效能元件。

2、與其他框架區別

Workerman 的核心要點和 Swoole 一致,但採用了純 PHP 的 Web Socket 實現。和 Swoole 相比最大的好處是移除了對 C 擴充套件的需求,但必須採用 CLI 模式執行使其還是無法跑在虛擬主機上。

3、使用例項

websocket伺服器

<?php
require_once __DIR__ . '/vendor/autoload.php';
use Workerman\Worker;
// 建立一個Websocket伺服器
$ws_worker = new Worker("websocket://0.0.0.0:2346");
$ws_worker->count = 4;
// 在新連線到來時發出
$ws_worker->onConnect = function($connection)
{
  echo "New connection\n";
 };
// 接收資料時發出
$ws_worker->onMessage = function($connection,$data)
{
  // Send hello $data
  $connection->send('hello ' . $data);
};
// 連線關閉時發出
$ws_worker->onClose = function($connection)
{
  echo "Connection closed\n";
};
// 執行worker
Worker::runAll();

知識點擴充套件:

workerman的特性

Workerman是一款純PHP開發的開源的高效能的PHP socket 非同步框架。被廣泛的用於移動通訊、手遊服務端、網路遊戲伺服器、聊天室伺服器、硬體通訊伺服器、智慧家居、車聯網、物聯網等領域的開發。 支援Websocket、HTTP等協議,支援自定義協議。基於workerman開發者可以更專注於業務邏輯開發,不必再為PHP Socket底層開發而煩惱。

workerman諸多的不同尋常的特性,使得PHP開發者可以開發出不同尋常的應用程式。

官網地址: http://www.workerman.net

官網有很具體的開發文件,這裡我就給大家介紹下 ,它的一些特性,功能還是很強大的!

純PHP開發

workerman完全使用PHP開發,使用workerman開發的應用程式不依賴php-fpm、apache、nginx這些容器就可以獨立執行。 這使得PHP開發者開發、部署、除錯應用程式非常方便。

支援PHP多程序

為了充分發揮伺服器多CPU的效能,workerman預設支援多程序多工。workerman開啟一個主程序和多個子程序對外提供服務, 主程序負責監控子程序退出訊號,並負責生成新的子程序去處理服務,這樣做不僅提高了應用程式的效能,而且使得workerman更加穩定。

支援TCP、UDP

workerman支援TCP和UDP兩種傳輸層協議,只需要更改配置的一個欄位,便可以更換傳輸層協議,業務程式碼無需任何改動。

到此這篇關於php中Workerman框架例項講解的文章就介紹到這了,更多相關php中Workerman框架是什麼內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!