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-workervia 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 = 'http://0.0.0.0:2346'; 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 [ 'worker_class' => 'app\http\Worker', ];
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!