亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

workerman的使用示例

發布時間:2021-01-26 11:47:46 來源:億速云 閱讀:179 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關workerman的使用示例,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

workerman是一個高性能的PHP socket 服務器框架,workerman基于PHP多進程以及libevent事件輪詢庫,PHP開發者只要實現一兩個接口,便可以開發出自己的網絡應用,例如Rpc服務、聊天室服務器、手機游戲服務器等。

workerman的目標是讓PHP開發者更容易的開發出基于socket的高性能的應用服務,而不用去了解PHP socket以及PHP多進程細節。

workerman本身是一個PHP多進程服務器框架,具有PHP進程管理以及socket通信的模塊,所以不依賴php-fpm、nginx或者apache等這些容器便可以獨立運行。

PHP進程管理:類似于操作系統的進程管理。

socket:網絡上的兩個程序通過一個雙向的通信連接實現數據的交換,這個連接的一端稱為一個socket。

服務端開發示例WebSocket Server

1、新建文件start.php

<?php
use Workerman\Worker;
require_once './Workerman/Autoloader.php';

// 創建一個Worker監聽2346端口,使用websocket協議通訊
$ws_worker = new Worker("websocket://0.0.0.0:2346");

// 啟動4個進程對外提供服務
$ws_worker->count = 4;

// 當收到客戶端發來的數據后返回hello $data給客戶端
$ws_worker->onMessage = function($connection, $data)
{
    // 向客戶端發送hello $data
    $connection->send('hello ' . $data);
};

// 運行
Worker::runAll();

2、啟動服務:

php start.php start -d

使用以上的語句啟動start.php   ,創建一個Worker監聽2346端口,使用websocket協議通訊并且啟動四個進程對外服務,當收到請求時會傳送數據給客戶端。

3、查看workerman運行狀態:

php start.php status

workerman的使用示例

wokerman 的幾大特性:

純PHP開發

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

支持PHP多進程

為了充分發揮服務器多CPU的性能,workerman默認支持多進程多任務。workerman開啟一個主進程和多個子進程對外提供服務, 主進程負責監控子進程退出信號,并負責生成新的子進程去處理服務,這樣做不僅提高了應用程序的性能,而且使得workerman更加穩定。

支持TCP、UDP

workerman支持TCP和UDP兩種傳輸層協議,只需要更改配置的一個字段,便可以更換傳輸層協議,業務代碼無需任何改動。

支持長連接

很多時候需要PHP應用程序要與客戶端保持長連接,比如聊天室、游戲等,但是傳統的PHP容器(apache、nginx、php-fpm)很難做到這一點。 使用workerman可以輕松使用PHP長連接。php單個進程可以支持幾千甚至幾萬的并發連接,多進程則可支持數十萬甚至上百萬的并發連接。

支持各種應用層協議

接口上支持各種應用層協議,包括自定義協議。Workerman默認支持的協議有HTTP、WebSocket、以及簡單的Text文本協議。 同時Workerman提供了通用的協議接口,開發者基于此接口便可以方便的開發出自己的協議。

支持高并發

workerman支持Libevent事件輪詢庫(需要安裝Libevent擴展), 使用Libevent在高并發時性能非常卓越,如果沒有安裝Libevent則使用PHP內置的Select相關系統調用。

關于“workerman的使用示例”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

栖霞市| 南阳市| 集安市| 潮安县| 天等县| 东山县| 屯留县| 隆昌县| 通化县| 日喀则市| 大邑县| 禹州市| 澜沧| 瑞金市| 洛川县| 光泽县| 双柏县| 临汾市| 新野县| 聂荣县| 普洱| 阿拉善左旗| 得荣县| 本溪| 曲阳县| 准格尔旗| 三门峡市| 台山市| 洪雅县| 眉山市| 旺苍县| 武汉市| 晋州市| 南投县| 商城县| 柘城县| 大港区| 襄城县| 渭南市| 安阳县| 玉溪市|