您好,欢迎访问一九零五行业门户网

MeepoPS--轻量级 Socket 服务

meepops是meepo php socket的缩写。旨在提供高效稳定的由纯php开发的多进程socketservice。
meepops可以轻松构建在线实时聊天,即时游戏,视频流媒体播放,rpc,实时监控,以及原本使用http的接口/定时任务的场景中等。
综述: 开发语言:php5.3以上
php作为最好的语言,不仅仅能依靠nginx来开发web应用,同时,也可以构建高效稳定的即时通讯类socket应用
meepops的最低运行要求是安装了php的pcntl库
meepops的定位是一个插件。不但可以独立运行,也可以依附与thinkphp,codeigniter,yii等mvc框架中
meepops是多进程,高性能,高可用,高并发,分布式的轻量级socket服务,安全稳定。代码维护在github,开放源码,永久免费。
meepops由纯php构建,代码简洁优雅。最好的语言,做更多的事情!
没有复杂的代码和新生语法,原生php语言直接调用即可。
传送门: 手册地址: http://meepops.lanecn.com
github: https://github.com/lixuancn/meepops
bug提交: https://github.com/lixuancn/meepops/issues
微博: http://weibo.com/lanephp
meepops官网
即时通讯
声明: 绝大多数的php应用都部署在linux服务器, 因此meepops不支持非unix操作系统(例如windows)。 你可以使用apple mac(os x), centos, ubuntu, red hat, fedora, freebsd等类unix操作系统来启动meepops。
windows用户可以安装virtualbox, vmware等虚拟机软件来运行meepops。
多进程及信号处理需要依赖php的pcntl库。 meepops深度依赖pcntl, 因此pcntl库是必须安装的, 即使只启动一个进程的meepops, 仍然需要安装pcntl。 如何安装:
php手册-pcntl安装
在大规模访问下,我们建议安装php的pecl扩展libevent,但这不是必须的。在高链接数的场景下, libevent表现优异。如何安装: php手册-libevent安装 。截止2016-05-06,php官方的libevent扩展不支持php7,php7下的libevent安装方法: php7的libevent分支
默认监听链接的方式为select轮询机制。php的select轮询机制最多只能监听1024个链接。想要突破这个限制,要么安装libevent,要么使用--enable-fd-setsize=2048重新编译安装php。
快速入门:
服务端使用方法:
基础功能和用法都写在demo-telnet.php,基本您就可以直接用。
普通终端启动: 1. 启动: 命令行输入php demo-telnet.php start.2. 状态: 命令行输入php demo-telnet.php status.3. 平滑结束: 启动后按下ctrl + c即可.4. 强行结束: 命令行输入kill -int `cat /var/run/meepo_ps/meepo_ps_master.pid`.
守护进程模式启动: 1. 启动: 命令行输入php demo-telnet.php start -d.2. 状态: 命令行输入php demo-telnet.php status.3. 平滑结束: 命令行输入php demo-telnet.php stop.4. 强行结束: 命令行输入php demo-telnet.php kill.5. 强行结束: 命令行输入kill -int `cat /var/run/meepo_ps/meepo_ps_master.pid`.
demo: 1. 基于telnet协议的服务端使用方法请参考demo-telnet.php.2. 如果服务端启动的是host是0.0.0.0, 那么客户端可以是外机,可以是本机.本机可以是127.0.0.1, 也可以是localhost.3. 如果服务端启动的是host是127.0.0.1/localhost, 那么客户端是不能外机,只能是本机.
客户端使用方法: telnet: 客户端可使用telnet客户端.如: telnet 127.0.0.1 19910
编写代码: 客户端可借助编程语言的socket来实现. 可参考test/test_client.php
惊鸿一瞥: meepops/config。ini是meepops的配置文件。 采用和php。ini同样的格式, ;为注释。
必须引入meepops/index。php文件。 使用meepops都是从 require_once 'meepops/index。php' 开始的。
meepops/api/目录下的文件为暴露给用户的接口。 需要实例化接口类文件, meepops的使用都是围绕实例化接口文件后的对象来操作的。 实例化的时候传入监听的host和端口即可。
meepops会以回调函数的方式来触发您设置的业务逻辑。 比如新链接加入时会回调您设置的hello world, 再比如某个链接发送了消息ping时, 会回调您设置的返回消息pong。
meepops可以启动多个实例, 每一次的new接口类文件都是一次实例化。
meepops不但可以实例化多个接口类文件, 也可以实例化同一个接口类文件多次。 比如启动了三个实例, 分别监听了19910, 19911, 19912端口。
实例化接口类文件并进行了相关设置后, 调用\meepops\runmeepops()即可启动meepops。
\meepops\runmeepops()之后的所有代码都将不会执行。
示例: example目录下是示例案例,每一个目录是一个独立的项目,会不断添加。
其它类似信息

推荐信息