Maison  >  Article  >  cadre php  >  Utilisation de base de ThinkPHP6 Workerman

Utilisation de base de ThinkPHP6 Workerman

Guanhui
Guanhuiavant
2020-05-13 09:51:159363parcourir

Workerman

Workerman est un framework de serveur socket PHP open source haute performance développé uniquement en PHP. Il est largement utilisé dans le développement d'applications mobiles, de serveurs de jeux mobiles, de serveurs de jeux en ligne, de serveurs de salons de discussion, de serveurs de communication matériels, de maisons intelligentes, de l'Internet des véhicules, de l'Internet des objets et d'autres domaines. Prend en charge les connexions longues TCP, prend en charge Websocket, HTTP et d'autres protocoles, ainsi que les protocoles personnalisés. Basé sur Workerman, les développeurs peuvent se concentrer davantage sur le développement de la logique métier et n'ont plus à se soucier du développement sous-jacent de PHP Socket.

Installer

Première installation

composer require topthink/think-worker
via composer

Utiliser

Utiliser Workerman comme serveur Http

Démarrez le serveur sur la ligne de commande

php think worker

Ensuite, vous pouvez accéder directement à l'application actuelle via le navigateur

http://localhost:2346

Linux peut prendre en charge les commandes suivantes

php think worker [start|stop|reload|restart|status]

paramètres workerman peut être Configurez-le dans worker.php dans le répertoire de configuration de l'application.

Comme il n'y a pas de HTTP_HOST lorsque onWorkerStart est en cours d'exécution, il est préférable de définir app_host dans le fichier de configuration de l'application

SocketServer

Démarrer le serveur sur la ligne de commande (nécessite la version 2.0.5+)

php think worker:server

ouvrira un service websocket à 0.0.0.0:2345 par défaut.

Si vous avez besoin de paramètres personnalisés, vous pouvez les configurer dans config/worker_server.php, notamment :

配置参数 描述
protocol 协议
host 监听地址
port 监听端口
socket 完整的socket地址

et prend en charge tous les paramètres de workerman (y compris les paramètres statiques globaux).

prend également en charge l'utilisation de fermetures pour définir les rappels d'événements associés.

return [
    'socket'    =>  'http://127.0.0.1:8000',
    'name'      =>  'thinkphp',
    'count'     =>  4,
    'onMessage' =>  function($connection, $data) {
        $connection->send(json_encode($data));
    },
];

prend également en charge l'utilisation de classes personnalisées en tant que classes de fichiers d'entrée de service Worker. Par exemple, nous pouvons créer une classe de service (doit hériter de thinkworkerServer), puis définir des propriétés et ajouter des méthodes de rappel

<?php
namespace app\http;
use think\worker\Server;
class Worker extends Server
{
    protected $socket = &#39;http://0.0.0.0:2346&#39;;
    public function onMessage($connection,$data)
    {
        $connection->send(json_encode($data));
    }
}

prend en charge toutes les définitions de méthodes de rappel de workererman (les méthodes de rappel doivent être de type public)

Ajoutez ensuite le paramètre de configuration dans work_server.php :

return [
    &#39;worker_class&#39;  =>  &#39;app\http\Worker&#39;,
];

Après avoir défini ce paramètre, les autres paramètres de configuration ne seront plus valides.

Démarrez le serveur en ligne de commande

php think worker:server

puis accédez à

http://localhost:2346

dans le navigateur S'il est sous Linux, l'opération reload|restart|stop|status est. également pris en charge

php think worker:server reload

Tutoriels recommandés : "ThinkPHP" "Tutoriel PHP" "Tutoriel Workerman"

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