Workerman est un framework de messagerie instantanée de socket PHP asynchrone open source hautes performances. Prend en charge une concurrence élevée et une stabilité ultra-élevée, et est largement utilisé dans les applications mobiles, les communications mobiles, les applets WeChat, les serveurs de jeux mobiles, les jeux en ligne, les salons de discussion PHP, les communications matérielles, les maisons intelligentes, l'Internet des véhicules, l'Internet des objets et d'autres domaines. . développement. (Apprentissage recommandé : tutoriel Workerman )
Prend en charge les connexions longues TCP, prend en charge Websocket, HTTP et d'autres protocoles, et prend en charge les protocoles personnalisés. Il possède de nombreux composants hautes performances tels que Mysql asynchrone, Redis asynchrone, Http asynchrone, client MQTT IoT, file d'attente de messages asynchrone, etc.
workerman lui-même est un framework de serveur multi-processus PHP avec des modules pour la gestion des processus PHP et la communication par socket, donc peut s'exécuter indépendamment sans s'appuyer sur des conteneurs tels que php-fpm, nginx ou apache.
1. Téléchargez d'abord le framework Workerman officiel
2. Côté serveur
dans workerman Créez un nouveau fichier dans le répertoire racine du framework
use Workerman\Worker; require_once __DIR__ . '/Workerman/Autoloader.php'; // 注意:使用的是websocket协议 $ws_worker = new Worker("websocket://0.0.0.0:2000"); //这里最好是0.0.0.0 // 启动4个进程对外提供服务 $ws_worker->count = 4; $ws_worker->onWorkerStart = function($ws_worker){ }; $ws_worker->onConnect = function($ws_worker){ }; $ws_worker->onMessage = function($connection, $data)use($ws_worker){ //如果想用$ws_worker的话需要 use传进来 }; $worker->onClose = function($connection){ }; php yaofile.php start debug模式 启动 php yaofile.php start -d (守护进程)启动
3 Code frontal
ws = new WebSocket("ws://47.90.81.150:2000"); //服务器的ip ws.onopen = function() { console.log("连接成功"); } ws.onmessage = function(e) { console.log("收到服务端的消息:" + e.data); } foreach($ws_worker->connections as $connection) { $connection->send($cachearray); }
4. >
use Workerman\Connection\AsyncTcpConnection; //要引用这个文件 $con = new AsyncTcpConnection('ws://api.huobi.pro:443/ws'); //远程服务器的连接 // 设置以ssl加密方式访问,使之成为wss $con->transport = 'ssl'; $con->onConnect = function($con) { $con->send($data); } $con->onMessage = function($con, $data) { }; $con->connect();
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!