Maison  >  Article  >  cadre php  >  Utiliser Workerman dans ThinkPHP6

Utiliser Workerman dans ThinkPHP6

Guanhui
Guanhuiavant
2020-06-10 09:16:399495parcourir

Utiliser Workerman dans ThinkPHP6

Utilisation de base de ThinkPHP6 Workerman

Workerman

Workerman est un open source développé uniquement en PHP Framework de serveur de socket PHP hautes performances. 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.

Recommandations associées : "Tutoriel Workerman"

Installation

Première installation via composer

composer require topthink/think-worker

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 prend en charge les commandes suivantes

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

Les paramètres de Workererman peuvent être configurés 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 :

et prend en charge tous les paramètres de travail (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, reload|restart|stop est également pris en charge |status opération

php think worker:server reload

Tutoriel recommandé : "PHP"

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