MeepoPS基本使用方法
MeepoPS基本使用
MeepoPS是Meepo PHP Socket的缩写. 旨在提供高效稳定的由纯PHP开发的多进程SocketService。
MeepoPS可以轻松构建在线实时聊天, 即时游戏, 视频流媒体播放, RPC, 以及原本使用HTTP的接口/定时任务的场景中等。
(1)MeepoPS的最低运行要求是安装了PHP的PCNTL库,检查php是否安装了PCNTL库。
(2)下载socket:
sudo apt-get install socket
(3)下载MeepoPS的demo:
https://github.com/lixuancn/MeepoPS/archive/master.zip
解压传输到linux服务器上。
(4)进入到解压后的目录
修改demo-telnet.php的主机地址为127.0.0.1,端口为8080。
执行:sudo php demo-telnet.php start
- test@localhost:/wwwroot/meepoPS$ sudo php demo-telnet.php start
- MeepoPS Start: [OK]
- -------------------------- MeepoPS Start Success ------------------------
- MeepoPS Version: 0.0. | PHP Version: 5.3.-1ubuntu3. | Master Pid: | Event: Select
- -------------------------- Instances List -------------------------
- MeepoPS-Telnet telnet://127.0.0.1:8080 Child Process: 1
再开启一个窗口,然后使用ps aux | grep php,可以看到已经启动成功:
- test@localhost:~$ ps aux | grep php
- root 0.0 0.2 pts/ S+ : : sudo php demo-telnet.php start
- root 0.0 1.1 pts/ S+ : : php demo-telnet.php start
- root 0.0 0.5 pts/ S+ : : php demo-telnet.php start
- test 0.0 0.0 pts/ S+ : : grep --color=auto php
连接:
telnet 127.0.0.1:8080
- test@localhost:/wwwroot/meepoPS$ telnet 127.0.0.1:
- telnet: could not resolve 127.0.0.1:/telnet: Name or service not known
- test@localhost:/wwwroot/meepoPS$ telnet 127.0.0.1
- Trying 127.0.0.1...
- Connected to 127.0.0.1.
- Escape character is '^]'.
然后就可以发消息,两个窗口都可以收到。
http 方式
修改demp-http.php文件:
$http = new \MeepoPS\Api\Http('0.0.0.0', '8080');
$http->setDocument('127.0.0.1:8080','/wwwroot/MeepoPS/');
保存退出,启动demo-http.php(如果有错误,可以使用:set nu 显示行号进行调试)
MeepoPS基本使用方法的更多相关文章
- javaSE27天复习总结
JAVA学习总结 2 第一天 2 1:计算机概述(了解) 2 (1)计算机 2 (2)计算机硬件 2 (3)计算机软件 2 (4)软件开发(理解) 2 (5) ...
- MeepoPS——轻量级 Socket 服务
MeepoPS是Meepo PHP Socket的缩写.旨在提供高效稳定的由纯PHP开发的多进程SocketService. MeepoPS可以轻松构建在线实时聊天,即时游戏,视频流媒体播放,RPC, ...
- mapreduce多文件输出的两方法
mapreduce多文件输出的两方法 package duogemap; import java.io.IOException; import org.apache.hadoop.conf ...
- 【.net 深呼吸】细说CodeDom(6):方法参数
本文老周就给大伙伴们介绍一下方法参数代码的生成. 在开始之前,先补充一下上一篇烂文的内容.在上一篇文章中,老周检讨了 MemberAttributes 枚举的用法,老周此前误以为该枚举不能进行按位操作 ...
- IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法
直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...
- 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例
前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...
- [C#] C# 基础回顾 - 匿名方法
C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...
- ArcGIS 10.0紧凑型切片读写方法
首先介绍一下ArcGIS10.0的缓存机制: 切片方案 切片方案包括缓存的比例级别.切片尺寸和切片原点.这些属性定义缓存边界的存在位置,在某些客户端中叠加缓存时匹配这些属性十分重要.图像格式和抗锯齿等 ...
- [BOT] 一种android中实现“圆角矩形”的方法
内容简介 文章介绍ImageView(方法也可以应用到其它View)圆角矩形(包括圆形)的一种实现方式,四个角可以分别指定为圆角.思路是利用"Xfermode + Path"来进行 ...
随机推荐
- 外文翻译 《How we decide》赛场上的四分卫 第四节
这是第一章的最后一节. 书的导言 本章第一节 本章第二节 本章第三节 制作肥皂剧是非常不易的.整个制作组都要很紧张的工作,每天都要拍摄一些新的事件.新的大转折的剧情需要被想象出来,新的剧本需要被编写, ...
- @GetMapping和@PostMapping 和@RequestMapping区别
@GetMapping 用于将HTTP GET请求映射到特定处理程序方法的注释. 具体来说,@GetMapping是一个作为快捷方式的组合注释@RequestMapping(method = Requ ...
- 升级 Cocoapods 到1.2.0指定版本,降低版本及卸载
=====================升级版本=================== CocoaPods 1.1.0+ is required to build SnapKit 3.0.0+. 在 ...
- Spark学习之在集群上运行Spark(6)
Spark学习之在集群上运行Spark(6) 1. Spark的一个优点在于可以通过增加机器数量并使用集群模式运行,来扩展程序的计算能力. 2. Spark既能适用于专用集群,也可以适用于共享的云计算 ...
- ASP.NET中调用事务处理的方法
/// <summary> /// 事务处理 /// </summary> /// <param name="strSql"></para ...
- JavaScript——blob、file、flieReader、createObjectURL
https://blog.csdn.net/opengl_es/article/details/44336477 https://www.cnblogs.com/hhhyaaon/p/5928152. ...
- MySQL(MMM架构使用)
本案例要求基于普通版的MySQL服务器改造MMM架构,完成以下任务操作:启动MMM集群架构设置集群中服务器为online状态MySQL-MMM架构部署完成后需要启动,数据库端启动mmm-agent进程 ...
- AUSU 安装Win10注意事项
Win10 U盘原版安装 安装前在电脑店PE里用DiskGenius分区分区表类型:GUID勾选:创建新ESP分区 . 创建MSR分区 安装必须使用UEFI引导和GPT硬盘,否则会提示无法安装Win1 ...
- mfc 菜单
创建一个基于对话框的工程,工程名为CreateMenu 为该对话框增加一个文件菜单项和测试菜单项,如下图所示 测试菜单项至少要有一个子菜单项 在对话框属性中关联该菜单 在resource.h中增加 ...
- IDEA -- idea无法导入HttpServlet包解决方法
IntelliJ IDEA 没有导入 servlet-api.jar 这个架包,需要你手动导入支持. 步骤1: 步骤2: 步骤3: 在弹出框中找到Tomcat安装路径 下的lib文件夹..中的Serv ...