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