今天想把websocket搭建起来,查了下原始的Laravel并没有这个功能,发现PHP中WEBSocket用workerman好像比较多。 在此将他们结合下,但结合时发现了一些问题。此篇博文虽然以及结合起来了,但是在某些情况下,建议还是分
今天想把websocket搭建起来,查了下原始的Laravel并没有这个功能,发现PHP中WEBSocket用workerman好像比较多。
在此将他们结合下,但结合时发现了一些问题。此篇博文虽然以及结合起来了,但是在某些情况下,建议还是分开,做成微服务的那种。
如果是使用虚拟机或服务器。业务简单的情况下可以结合起来,不影响。还可以共享很多资源。
如果使用的虚拟空间。就必须要分开了。因为虚拟空间只开了80或443端口,websocket需要另外开个端口,所以这种情况要分开。
如果是要搞中大型的项目,建议分开。
下面来看下整合,先加载库
composer require workerman/workerman
创建控制台命令:
php artisan make:command Workerman
此时会在app/Console/Commands下面新建一个Workerman.php
将代码改成:
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
输入后:
启动成功,用网页调试下:
服务端后台打印:
来源地址:https://blog.csdn.net/qq78442761/article/details/129117685
--结束END--
本文标题: PHP笔记-Workerman整合到Laravel中并创建websocket
本文链接: https://www.lsjlt.com/news/400449.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0