菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
2936
1

PHP 消息中间件 工具库

原创
05/13 14:22
阅读数 2371

About ant

项目地址

 anthill 是一个消息中间件 以协程的高效性能为php转推消息到客户端. php以socket协议进行消息推送 
 anthill将此消息转推到websocket客户端 
 应用场景: 当php服务端触发消息推送事件 以短消息方式推送到anthill 再由anthill转发客户端
 可以跨进程推送消息 替代ajax轮询方式(此服务应用场景不适于php与客户端建立长连接通信)

example

1. 拉取

 composer require stream/ant    

2. 开启服务

windows

 start /B (YOUR_PATH)vendor/stream/ant/anthill.exe

linux

 (YOUR_PATH)vendor/stream/ant/anthill &

 tips: 
   需要开启防火墙 9303 9333端口为tcp 和 websocket,你可以在包ini.json自行修改端口

 command:
   iptables -A INPUT -p tcp --dport 9303 -j ACCEPT
   iptables -A OUTPUT -p tcp --sport 9303 -j ACCEPT
   iptables -A INPUT -p tcp --dport 9333 -j ACCEPT
   iptables -A OUTPUT -p tcp --sport 9333 -j ACCEPT
   service iptables save

3. code in php

创建对象 并注册一个会话token 你可以保存此token到客户端断开连接前都可以以此token进行消息
推送服务

 $ant = new Ant();
 $token = $ant->prepare();

发送消息带上相对应token

 $ant->send($token,Structure::NOTICE_EVENT,"this is a message form php");

广播 发送到所有客户端

 $ant->send("",Structure::BROADCAST_EVENT,"this is a message form php");

关闭一个带此token的客户端

 $ant->close($token);

4. websocket 客户端示例

 open this (YOUR_PATH)vendor/stream/ant/example/client/index.html

发表评论

0/200
2936 点赞
1 评论
收藏
为你推荐 换一批