Maison > cadre php > PensezPHP > le corps du texte

Utiliser Workerman dans ThinkPHP6

Guanhui
Libérer: 2021-02-01 12:02:51
avant
9675 Les gens l'ont consulté

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

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

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

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
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 :

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));
 },
];
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, reload|restart|stop est également pris en charge |status opération

php think worker:server reload
Copier après la connexion

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!

Étiquettes associées:
source:juejin.im
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