workerman怎么用
发布时间 - 2019-12-05 00:00:00 点击率:次Workerman是一款开源高性能异步PHP socket即时通讯框架。支持高并发,超高稳定性,被广泛的用于手机app、移动通讯,微信小程序,手游服务端、网络游戏、PHP聊天室、硬件通讯、智能家居、车联网、物联网等领域的开发。 (推荐学习: workerman教程)
支持TCP长连接,支持Websocket、HTTP等协议,支持自定义协议。拥有异步Mysql、异步Redis、异步Http、MQTT物联网客户端、异步消息队列等众多高性能组件。
wor
kerman本身是一个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
# php
# mysql
# nginx
# 并发
# 异步
# redis
# apache
# 微信小程序
# http
# websocket
# 物联网
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何用PHP快速搭建高效网站?分步指南
原生JS实现图片轮播切换效果
简单实现Android验证码
三星、SK海力士获美批准:可向中国出口芯片制造设备
实例解析angularjs的filter过滤器
什么是JavaScript解构赋值_解构赋值有哪些实用技巧
Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)
如何获取上海专业网站定制建站电话?
如何快速搭建高效服务器建站系统?
长沙企业网站制作哪家好,长沙水业集团官方网站?
Laravel如何实现用户注册和登录?(Auth脚手架指南)
如何在云主机上快速搭建多站点网站?
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
Laravel如何发送系统通知?(Notification渠道示例)
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
Laravel如何为API编写文档_Laravel API文档生成与维护方法
Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程
php打包exe后无法访问网络共享_共享权限设置方法【教程】
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
如何在阿里云完成域名注册与建站?
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
如何在云服务器上快速搭建个人网站?
宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法
Laravel怎么清理缓存_Laravel optimize clear命令详解
Laravel如何与Docker(Sail)协同开发?(环境搭建教程)
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
如何在云主机上快速搭建网站?
Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
Linux系统运维自动化项目教程_Ansible批量管理实战
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
如何在Windows服务器上快速搭建网站?
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
如何在阿里云服务器自主搭建网站?
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】
C++用Dijkstra(迪杰斯特拉)算法求最短路径
公司网站制作价格怎么算,公司办个官网需要多少钱?
晋江文学城电脑版官网 晋江文学城网页版直接进入
微信小程序 wx.uploadFile无法上传解决办法
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
HTML 中动态设置元素 name 属性的正确语法详解
Laravel如何使用Gate和Policy进行授权?(权限控制)
如何在橙子建站中快速调整背景颜色?
微信小程序制作网站有哪些,微信小程序需要做网站吗?
Laravel如何实现API资源集合?(Resource Collection教程)
Laravel DB事务怎么使用_Laravel数据库事务回滚操作
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?

