PHP笔记-Workerman整合到Laravel中并创建websocket
今天想把websocket搭建起来,查了下原始的Laravel并没有这个功能,发现php中websocket用workerman好像比较多。
在此将他们结合下,但结合时发现了一些问题。此篇博文虽然以及结合起来了,但是在某些情况下,建议还是分开,做成微服务的那种。
如果是使用虚拟机或服务器。业务简单的情况下可以结合起来,不影响。还可以共享很多资源。
如果使用的虚拟空间。就必须要分开了。因为虚拟空间只开了80或443端口,websocket需要另外开个端口,所以这种情况要分开。
如果是要搞中大型的项目,建议分开。
下面来看下整合,先加载库
composer require workerman/workerman
创建控制台命令:
php artisan make:command Workerman
此时会在app/Console/Commands下面新建一个Workerman.php
将代码改成:
<?phpnamespace App\Console\Commands;use Illuminate\Console\Command;
use Workerman\Worker;class Workerman extends Command
{/*** The name and signature of the console command.** @var string*/protected $signature = 'workerman:websocket';/*** The console command description.** @var string*/protected $description = 'Command description';/*** Create a new command instance.** @return void*/public function __construct(){parent::__construct();}/*** Execute the console command.** @return int*/public function handle(){$wsWorker = new Worker('websocket://0.0.0.0:2346');$wsWorker->onConnect = function($connection){echo "New Connection\n";};$wsWorker->onMessage = function ($connection, $data){$connection->send('Hello' . $data);};$wsWorker->onClose = function ($connection){echo "Connection closed\n";};Worker::runAll();}
}
这里有几点要注意:
这个$signature要填写,控制台启动workerman时就是
php artisan workerman:websocket
输入后:
启动成功,用网页调试下:
服务端后台打印:
PHP笔记-Workerman整合到Laravel中并创建websocket相关推荐
- Laravel中使用JWT
资料网址 jwt 官网文档:https://jwt.io/ jwt-auth文档:https://jwt-auth.readthedocs.io/en/develop/laravel-installa ...
- Sharepoint学习笔记---如何在Sharepoint2010网站中整合Crystal Report水晶报表(显示数据 二)...
在Sharepoint学习笔记---如何在Sharepoint2010网站中整合Crystal Report水晶报表(显示数据一)中,解释了如何把Crystal Report整合到Sharepoint ...
- SpringMVC:学习笔记(10)——整合Ckeditor且实现图片上传
SpringMVC:学习笔记(10)--整合Ckeditor且实现图片上传 配置CKEDITOR 精简文件 解压之后可以看到ckeditor/lang下面有很多语言的js,如果不需要那么多种语言的,可 ...
- spring学习笔记06-spring整合junit(出现的问题,解决的思路)
spring学习笔记06-spring整合junit(出现的问题,解决的思路) 文章目录 spring学习笔记06-spring整合junit(出现的问题,解决的思路) 3.1测试类中的问题和解决思路 ...
- php数据迁移脚本,Laravel中数据迁移与数据填充的详细步骤
前言 这是一篇基础教程,对标 Laravel 文档中的数据迁移和数据填充,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍把. 关于Laravel数据库迁移的理解 最初看到laravel框 ...
- php wss 乱码,[折腾]-thinkphp与workerman整合后wss协议问题
在博主的努力下,博主自己从零搭建的博客网站已经上线了,这篇文章已经转移到了博主自己的博客网站上了,欢迎访问 thinkphp与workerman整合后wss协议问题 这似乎是个简单的问题,最新版本的t ...
- 【从线性回归到 卷积神经网络CNN 循环神经网络RNN Pytorch 学习笔记 目录整合 源码解读 B站刘二大人 绪论(0/10)】
深度学习 Pytorch 学习笔记 目录整合 数学推导与源码详解 B站刘二大人 目录传送门: 线性模型 Linear-Model 数学原理分析以及源码详解 深度学习 Pytorch笔记 B站刘二大人( ...
- python白帽子学习笔记(整合)
python白帽子学习笔记(整合) 学习笔记目录 python白帽子学习笔记(整合) 前言 一.基础篇 1.正则表达式 2.列表 3.元组带上了枷锁的列表 4.奇葩的内置方法 5.格式化字符 6.序列 ...
- 前端笔记知识点整合之服务器Ajax(上)服务器PHP数据交互HTTP
前端笔记知识点整合之服务器&Ajax(上)服务器&PHP&数据交互&HTTP 一.服务器 1.1 什么是服务器,做什么的? 服务器,就是放在机房中的电脑,和我们的电脑的 ...
最新文章
- 【转载】图论 500题——主要为hdu/poj/zoj
- 宇宙总统pascal程序
- c语言不安全库_为什么和其他语言相比C语言是快速的语言?
- MSF(二):msf外部/内部常用命令
- 迷你世界远古机器人_以我的世界生物为原型 打造17款创意庇护所
- SQLAlchemy Mapping Table Columns
- 微信上传图文素材接口报41005错误解决方法
- 拓端tecdat|sas神经网络:构建人工神经网络模型来识别垃圾邮件
- 裴(pei)蜀定理 知识点
- 项目CSS基础样式模板
- 使用JavaScript重定向到其他网页
- 大表哥在csdn的第一篇博客
- Windows 10 D盘操作需要管理员权限
- 基于微信小程序社区疫情防控系统
- 开源|AAAI2021杰出论文-三维重建新探索:让自监督信号更可靠!
- 数字逻辑设计(何建新)第二章
- MNL——多项Logit模型学习笔记(三)二项Logit模型、Gumble分布以及Logistic分布
- 思科Cisco AnyConnect 下载地址(windows、macos、iOS、Android、linux)
- 关于云计算资源调度的一些思考
- Jetson Nano 系列之:刷机、瘦身、部署应用