1.安装composer
composer中国镜像
貌似需要php7.2以上
2.安装Ratchet
Ratchet
安装成功的话(成功安装系统环境变量)就可以在控制台任意地方用
composer 命令查看版本
3.在项目里新建composer.json文件

{"name": "vendor_name/include","description": "description","minimum-stability": "stable","license": "proprietary","authors": [{"name": "咔咔","email": ""}],"autoload": {"psr-4": {"MyApp\\": "WebSocketServer"}},"require": {"cboden/ratchet": "~0.4.4"}
}

WebSocketServer为chet模型所在文件夹
在composer.json同级目录下运行控制台命令
composer install
会生成vendor目录
4.创建 项目根目录/WebSocketServer/Chet.php

<?php
namespace MyApp;
use Ratchet\MessageComponentInterface;
use Ratchet\ConnectionInterface;class Chat implements MessageComponentInterface {protected $clients;public function __construct() {$this->clients = new \SplObjectStorage;}public function onOpen(ConnectionInterface $conn) {// Store the new connection to send messages to later$this->clients->attach($conn);echo "New connection! ({$conn->resourceId})\n";}public function onMessage(ConnectionInterface $from, $msg) {$numRecv = count($this->clients) - 1;echo sprintf('Connection %d sending message "%s" to %d other connection%s' . "\n", $from->resourceId, $msg, $numRecv, $numRecv == 1 ? '' : 's');foreach ($this->clients as $client) {if ($from !== $client) {// The sender is not the receiver, send to each client connected$client->send($msg);}}}public function onClose(ConnectionInterface $conn) {// The connection is closed, remove it, as we can no longer send it messages$this->clients->detach($conn);echo "Connection {$conn->resourceId} has disconnected\n";}public function onError(ConnectionInterface $conn, \Exception $e) {echo "An error has occurred: {$e->getMessage()}\n";$conn->close();}
}

项目根目录/WebSocketServer/chet-server.php 脚本

<?php
use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
use MyApp\Chat;require dirname(__DIR__) . '/vendor/autoload.php';$server = IoServer::factory(new HttpServer(new WsServer(new Chat())),8080);$server->run();

6.运行脚本前先运行命令
composer dump-autoload
不让会报错Fatal error: Uncaught Error: Class ‘MyApp\Chat’ not found in
使用控制台运行命令
php WebSocketServer/chat-server.php
或者直接使用phpstromIDE的集成环境 运行chat-server.php
7.可以用postman测试连接
不细说

yii 运行Ratchet 包的websocket相关推荐

  1. Ratchet实现PHP WebSocket多人聊天功能的示例

    composer 安装ratchet composer require cboden/ratchet 使用PDO连接数据库,创建mysql命令如下 CREATE TABLE messages (id ...

  2. centos运行jar包需要的环境_Centos7服务器下启动jar包项目的最佳方法

    前言 在linux上运行jar包谁都会啊.为什么我还要单独拎出来讲呢.细心的朋友可能已经在标题中发现关键词Centos7和最佳方式. 这就说明我不是随便写点东西水一篇博客的ヾ(◍°∇°◍)ノ゙ 首先C ...

  3. 如何修改可运行Jar包,如何反编译Jar包

    将可运行Jar包,反编译成项目,修改代码,再次编译,打包. 需要工具:jd-gui.myeclipse 具体步骤: 1.使用jd-gui打开原始的Jar包,选择File-->Save All  ...

  4. linux 后台运行jar包命令,Linux 运行jar包命令(Cent OS 7后台运行jar包)

    Linux 运行jar包命令如下: 方式一 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 java -jar shareniu. ...

  5. Windows下在后台运行jar包

    为什么80%的码农都做不了架构师?>>>    新建一个bat文件,输入: @echo off start javaw -jar xxx.jar exit 执行这个批处理程序就可以在 ...

  6. 运行SSIS包的几种方式

    很多程序员,不止.net程序员都有可能会用到SSIS包来处理一些数据流程上的任务.可以说SSIS作为BI下的一个ETL工具,方便易学,而且功能也确实很强大.于是开发OLTP的同事总会到我们这边寻求技术 ...

  7. 使用Maven构建Dubbo服务的可运行jar包

    本文为<基于Dubbo的分布式系统架构视频教程>的课程系列文档,更多课程信息,请关注:http://www.roncoo.com Dubbo视频教程--基础篇--第07节--使用Maven ...

  8. centos运行jar包需要的环境_CentOS 7.4下运行jar包

    0.说明 1.虚拟机系统为CentOS 7.4_X64 2.初始化安装.未做任何配置 3.本例中测试运行jar包需要调用数据库,所有需要根据jar包中jdbc数据源的配置安装oracle及配置表空间和 ...

  9. 总结运行SSIS包的几种方式

    很多程序员,不止.net程序员都有可能会用到SSIS包来处理一些数据流程上的任务.可以说SSIS作为BI下的一个ETL工具,方便易学,而且功能也确实很强大.于是开发OLTP的同事总会到我们这边寻求技术 ...

最新文章

  1. .NET MVC+ EF+LINQ 多表联查VIEW显示列表
  2. python实现字符串中中文在前,数字在后且按从小到大排序
  3. ASP.NET中防止页面多次加载的IsPostBack属性
  4. 设计模式之四:适配器模式(Adapter Pattern)
  5. 模拟物流快递系统程序设计java_路辉物流设备:大件快递自动分拣系统的模块化设计...
  6. wxWidgets:wxTreeCtrl概述
  7. android 使用photoshop 裁剪图片
  8. android 开启或者隐藏软键盘
  9. 谷歌地图kml能透明吗_如何打开KML和KMZ文件并与卫星影像叠加
  10. Python数据挖掘 之 数据处理(使用pandas对智联招聘上的北京地区python岗位进行数据清洗)
  11. 留言送书文末 | 20年磨一剑!南京大学周志华教授团队重磅新作出版
  12. 51单片机DIY_秒表计时器
  13. 计算机老师能叫少儿编程,少儿编程教师适合哪些人做?需要具备什么能力?
  14. 彻底关闭自带杀毒软件windows defender,Antimalware Service Executable
  15. linux srr 乱码,批量下载SRR数据
  16. 搜索引擎蜘蛛 ajax,了解搜索引擎蜘蛛习性 助力内页顺畅收录
  17. JAVA计算机毕业设计社区生鲜电商平台(附源码、数据库)
  18. Framer for UX Design 用于UX设计的Framer Lynda课程中文字幕
  19. CF 221 C Circling Round Treasures - dp - 状压
  20. Android 锁屏后Service服务保活(支持9.0)

热门文章

  1. R语言画克利夫兰点图-代码分享
  2. 听力阈值计算_听力损失如何计算出来的,具体等级的标准是什么?
  3. react native 开发APP(六)网络请求,列表的使用
  4. 【请收下这份汇总全网的Java视频资料】
  5. 给现有的word和pdf加水印
  6. 面试必知道的APP测试adb命令
  7. SQLServer列转行函数Unpivot
  8. Robot Framework 初始化清除 Steup + Teardown
  9. Monkeyrunner命令安装APK
  10. 深圳唐三彩非遗艺术馆开展“探索跨界融合,推动非遗创新”主题沙龙