Maison >cadre php >Workerman >Introduction à Workerman (avec instructions d'utilisation)

Introduction à Workerman (avec instructions d'utilisation)

尚
avant
2019-11-25 17:22:439384parcourir

La colonne suivante du Tutoriel Workerman vous présentera le concept et l'utilisation de Workerman. J'espère qu'elle sera utile aux amis dans le besoin !

Introduction à Workerman (avec instructions d'utilisation)

workerman est un framework de serveur de socket PHP hautes performances. Workerman est basé sur une bibliothèque d'interrogation d'événements PHP multi-processus et libevent. Les développeurs PHP n'ont besoin que d'implémenter une ou deux interfaces. . Développez vos propres applications réseau, telles que des services Rpc, des serveurs de salon de discussion, des serveurs de jeux mobiles, etc.

L'objectif de Workerman est de permettre aux développeurs PHP de développer plus facilement des services d'application basés sur des sockets hautes performances sans avoir à comprendre les détails des sockets PHP et des multi-processus PHP.

Workerman lui-même est un framework de serveur multi-processus PHP avec des modules pour la gestion des processus PHP et la communication par socket, il peut donc fonctionner indépendamment sans s'appuyer sur des conteneurs tels que php-fpm, nginx ou apache.

Gestion des processus PHP : similaire à la gestion des processus du système d'exploitation.

Socket : deux programmes sur le réseau échangent des données via une connexion de communication bidirectionnelle. Une extrémité de cette connexion est appelée une socket.

Exemple de développement de serveur WebSocket Server

1 Créez un nouveau fichier start.php

<?php use Workerman\Worker;
require_once &#39;./Workerman/Autoloader.php&#39;;

// 创建一个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. Démarrez le service :

php start.php start -d
<.> Utilisez l'instruction ci-dessus pour démarrer start.php, créez un Worker pour écouter le port 2346, utilisez le protocole websocket pour communiquer et démarrez quatre processus pour fournir des services externes. Lorsqu'une demande est reçue, les données seront envoyées au client.

3. Vérifiez l'état de fonctionnement de Workerman :

php start.php status

Introduction à Workerman (avec instructions dutilisation)

Principales fonctionnalités de Wokerman :

Développement PHP pur

Workerman est entièrement développé en PHP. Les applications développées avec Workerman peuvent s'exécuter indépendamment sans recourir à des conteneurs tels que php-fpm, apache et nginx. Cela permet aux développeurs PHP de développer, déployer et déboguer des applications très facilement.

Prise en charge du multi-processus PHP

Afin d'utiliser pleinement les performances multi-CPU du serveur, Workerman prend en charge le multi-processus et le multitâche par défaut. Workerman démarre un processus principal et plusieurs sous-processus pour fournir des services externes. Le processus principal est chargé de surveiller les signaux de sortie des sous-processus et de générer de nouveaux sous-processus pour gérer les services. mais rend également Workerman plus stable.

Prend en charge TCP, UDP

workerman prend en charge les deux protocoles de couche de transport TCP et UDP. Il vous suffit de modifier un champ de la configuration pour modifier le protocole de couche de transport sans aucune modification du code métier.

Prise en charge des connexions longues

Souvent, les applications PHP doivent maintenir de longues connexions avec les clients, tels que les salons de discussion, les jeux, etc., mais avec les conteneurs PHP traditionnels (apache, nginx, php-fpm) C'est très difficile à faire. Workerman facilite l'utilisation de connexions longues PHP. Un seul processus PHP peut prendre en charge des milliers, voire des dizaines de milliers de connexions simultanées, et plusieurs processus peuvent prendre en charge des centaines de milliers, voire des millions de connexions simultanées.

Prend en charge divers protocoles de couche d'application

L'interface prend en charge divers protocoles de couche d'application, y compris des protocoles personnalisés. Les protocoles pris en charge par Workerman par défaut incluent HTTP, WebSocket et le protocole Text simple. Dans le même temps, Workerman fournit une interface de protocole commune et les développeurs peuvent facilement développer leurs propres protocoles basés sur cette interface.

Prend en charge la haute simultanéité

workerman prend en charge la bibliothèque d'interrogation d'événements Libevent (l'extension Libevent doit être installée). L'utilisation de Libevent offre d'excellentes performances en haute simultanéité. Si Libevent n'est pas installé, la sélection intégrée de PHP. Appels système associés.

Pour plus de connaissances sur les ouvriers, veuillez prêter attention à la colonne

Tutoriel sur les ouvriers.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer