这篇文章将为大家详细讲解有关workerman的用法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
Workerman是一款开源高性能异步PHP socket即时通讯框架。支持高并发,超高稳定性,被广泛的用于手机app、移动通讯,微信小程序,手游服务端、网络游戏、PHP聊天室、硬件通讯、智能家居、车联网、物联网等领域的开发。
支持TCP长连接,支持Websocket、HTTP等协议,支持自定义协议。拥有异步Mysql、异步Redis、异步Http、MQTT物联网客户端、异步消息队列等众多高性能组件。
workerman本身是一个PHP多进程服务器框架,具有PHP进程管理以及socket通信的模块,所以不依赖php-fpm、nginx或者apache等这些容器便可以独立运行。
1.首先下载官方Workerman框架
2.作为服务器端
在workerman框架根目录新建一个文件
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.前端代码
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();
关于“workerman的用法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。