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 nulllaravel使用workerman用户交互,服务器交互的示例分析