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

Utilisation de base de ThinkPHP6 Workerman

Guanhui
Libérer: 2021-02-01 12:03:15
avant
9398 Les gens l'ont consulté

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
Copier après la connexion
via composer

Utiliser

Utiliser Workerman comme serveur Http

Démarrez le serveur sur la ligne de commande

php think worker
Copier après la connexion

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

http://localhost:2346
Copier après la connexion
Copier après la connexion

Linux peut prendre en charge les commandes suivantes

php think worker [start|stop|reload|restart|status]
Copier après la connexion

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
Copier après la connexion
Copier après la connexion

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));
    },
];
Copier après la connexion

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));
    }
}
Copier après la connexion

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;,
];
Copier après la connexion

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
Copier après la connexion
Copier après la connexion

puis accédez à

http://localhost:2346
Copier après la connexion
Copier après la connexion

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
Copier après la connexion

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!

Étiquettes associées:
source:kancloud.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal