今天想把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相关推荐

  1. Laravel中使用JWT

    资料网址 jwt 官网文档:https://jwt.io/ jwt-auth文档:https://jwt-auth.readthedocs.io/en/develop/laravel-installa ...

  2. Sharepoint学习笔记---如何在Sharepoint2010网站中整合Crystal Report水晶报表(显示数据 二)...

    在Sharepoint学习笔记---如何在Sharepoint2010网站中整合Crystal Report水晶报表(显示数据一)中,解释了如何把Crystal Report整合到Sharepoint ...

  3. SpringMVC:学习笔记(10)——整合Ckeditor且实现图片上传

    SpringMVC:学习笔记(10)--整合Ckeditor且实现图片上传 配置CKEDITOR 精简文件 解压之后可以看到ckeditor/lang下面有很多语言的js,如果不需要那么多种语言的,可 ...

  4. spring学习笔记06-spring整合junit(出现的问题,解决的思路)

    spring学习笔记06-spring整合junit(出现的问题,解决的思路) 文章目录 spring学习笔记06-spring整合junit(出现的问题,解决的思路) 3.1测试类中的问题和解决思路 ...

  5. php数据迁移脚本,Laravel中数据迁移与数据填充的详细步骤

    前言 这是一篇基础教程,对标 Laravel 文档中的数据迁移和数据填充,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍把. 关于Laravel数据库迁移的理解 最初看到laravel框 ...

  6. php wss 乱码,[折腾]-thinkphp与workerman整合后wss协议问题

    在博主的努力下,博主自己从零搭建的博客网站已经上线了,这篇文章已经转移到了博主自己的博客网站上了,欢迎访问 thinkphp与workerman整合后wss协议问题 这似乎是个简单的问题,最新版本的t ...

  7. 【从线性回归到 卷积神经网络CNN 循环神经网络RNN Pytorch 学习笔记 目录整合 源码解读 B站刘二大人 绪论(0/10)】

    深度学习 Pytorch 学习笔记 目录整合 数学推导与源码详解 B站刘二大人 目录传送门: 线性模型 Linear-Model 数学原理分析以及源码详解 深度学习 Pytorch笔记 B站刘二大人( ...

  8. python白帽子学习笔记(整合)

    python白帽子学习笔记(整合) 学习笔记目录 python白帽子学习笔记(整合) 前言 一.基础篇 1.正则表达式 2.列表 3.元组带上了枷锁的列表 4.奇葩的内置方法 5.格式化字符 6.序列 ...

  9. 前端笔记知识点整合之服务器Ajax(上)服务器PHP数据交互HTTP

    前端笔记知识点整合之服务器&Ajax(上)服务器&PHP&数据交互&HTTP 一.服务器 1.1 什么是服务器,做什么的? 服务器,就是放在机房中的电脑,和我们的电脑的 ...

最新文章

  1. 【转载】图论 500题——主要为hdu/poj/zoj
  2. 宇宙总统pascal程序
  3. c语言不安全库_为什么和其他语言相比C语言是快速的语言?
  4. MSF(二):msf外部/内部常用命令
  5. 迷你世界远古机器人_以我的世界生物为原型 打造17款创意庇护所
  6. SQLAlchemy Mapping Table Columns
  7. 微信上传图文素材接口报41005错误解决方法
  8. 拓端tecdat|sas神经网络:构建人工神经网络模型来识别垃圾邮件
  9. 裴(pei)蜀定理 知识点
  10. 项目CSS基础样式模板
  11. 使用JavaScript重定向到其他网页
  12. 大表哥在csdn的第一篇博客
  13. Windows 10 D盘操作需要管理员权限
  14. 基于微信小程序社区疫情防控系统
  15. 开源|AAAI2021杰出论文-三维重建新探索:让自监督信号更可靠!
  16. 数字逻辑设计(何建新)第二章
  17. MNL——多项Logit模型学习笔记(三)二项Logit模型、Gumble分布以及Logistic分布
  18. 思科Cisco AnyConnect 下载地址(windows、macos、iOS、Android、linux)
  19. 关于云计算资源调度的一些思考
  20. Jetson Nano 系列之:刷机、瘦身、部署应用

热门文章

  1. 智能新时代的天津故事
  2. cad的计算机功能,走进CAD在线操作功能!
  3. 电子邮箱品牌中哪个VIP邮箱安全?
  4. matplolib实例之 城市气候与海洋的关系研究
  5. C语言实践——双人五子棋(进阶版)
  6. 【转载】旅行商问题(华为笔试蜜蜂采蜜问题)
  7. 百度编辑器回显html,UEditor百度编辑器的坑
  8. [转]搜索rapidshare资源的几种方法
  9. ejb客户端的三种调用方法,以及InitialContext lookup后的jndi对象在服务重启后缓存失效的问题
  10. Cascad级删的单理解