laravel使用workerman用户交互,服务器交互的示例分析

  


  ,,,,,,,,,,,,,,

laravel使用workerman用户交互,服务器交互

使用workeman实现浏览器相互通信,服务器浏览器交互

一、安装workerman

composer  require  workerman/workerman

二,生成命令文件

php  artisan : command  workerman

修改文件

& lt; php ?   namespace 应用\ \控制台命令;use 照亮\ \控制台命令;use  Workerman \工人;class  Workerman  extends 命令{   ,,,protected  signature 美元;=,& # 39;Workerman {行动},{——daemonize} & # 39;;   ,,,protected  description 美元;=,& # 39;Command 描述# 39;;   ,,,public  function  __construct ()   ,,,{   ,,,,,,,父母:__construct ();   ,,,}   ,,,public  function 处理()   ,,,{   ,,,,,,,global  $ argv;//定义全局变量   ,,,,,,,arg 美元;=,$ this→参数(& # 39;行动# 39;);   ,,,,,,,$ argv [1],=, arg美元;   ,,,,,,,$ argv [2],=, $ this→选项(& # 39;daemonize& # 39;), ?, & # 39; - d # 39;,:, & # 39; & # 39;;//该参数是以守护进程(守护进程)方式启动      ,,,,,,,global  text_worker美元;   ,,,,,,,//,创建一个工人监听2345端口,使用websocket协议通讯   ,,,,,,,text_worker 美元;=,new 工人(“websocket://0.0.0.0:2345");   ,,,,,,,美元text_worker→uidConnections =,数组();//在线用户连接对象   ,,,,,,,美元text_worker→uidInfo =,数组();//在线用户的用户信息   ,,,,,,,//,启动4个进程对外提供服务   ,,,,,,,美元text_worker→count =, 4;   ,,,,,,,//当启动workerman的时候,触发此方法   ,,,,,,,美元text_worker→onWorkerStart =function () {      ,,,,,,,};   ,,,,,,,//当浏览器连接的时候触发此函数   ,,,,,,,美元text_worker→onConnect =,函数(连接){      ,,,,,,,};   ,,,,,,,//向用户发送信息的时候触发   ,,,,,,,//connection 美元;当前连接的人的信息,data 美元;发送的数据   ,,,,,,,美元text_worker→onMessage =,函数(连接,美元数据){      ,,,,,,,};   ,,,,,,,//浏览器断开链接的时候触发   ,,,,,,,美元text_worker→onClose =,函数(连接){};   ,,,}}

三,启动命令

,美元php  artisan  Workerman  start ——daemonize   弃用:Directive  & # 39; track_errors # 39;, is  deprecated 拷贝Unknown 提醒line  0 - - - - - - - - - - - - - - - - - - - - - - -安康;WORKERMAN  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Workerman 版本:4.0.19 ,,,,,,,,, PHP 版本:7.2.9 - - - - - - - - - - - - - - - - - - - - - - - -,WORKERS  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -worker ,,,,,,,,,,,,,, listen ,,,,,,,,,,,,,,,,,,,,,,,,,,,,, processes 状态   none ,,,,,,,,,,,,,,,, websocket://0.0.0.0:2345 ,,,,,,,,,,, 4,,,,,,,,,(好)

四、浏览器之间通信

<编辑> 1。HTML代码两个HTML做交互 ,var  socket =, new  WebSocket (“ws://localhost: 2345//ws");   ,,,,,,,,//,建立连接时触发,建立链接的时候,需要向workerman发送一条指令,告诉他我是谁,使用id或者用户标识作为uid,告诉workerman ,例如,当前html 用户id是37岁   ,,,,,,,,socket.onopen =,函数(事件),{   ,,,,,,,,,,,console.log(& # 39;连接开始……& # 39;);   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

laravel使用workerman用户交互,服务器交互的示例分析