基于web-msg-sender的demo,发现它是向websocket服务器建立curl连接提交post请求实现消息推送的,因此在实践中为了向部分用户(多个但非全部用户)推送,使用了如下代码形式:
[attach]981[/attach] 但是发现如此操作的话效率很低,并且似乎造成cpu占比飙高。请问是否有什么方法可以改善呢?
不了解 web-msg-sender,控制端向 web-msg-sender 发指令只能是这种“一个一个地发送”吗?
能不能一次发送一批 uid?能不能用 group 方式?
如果不行的话,干脆改造或者自己写一个 web-msg-sender 好了,反正用 Workerman 做这种事情超简单,创建两个 Worker实例(一个 socketio 协议,一个 http 协议)就 OK 了。
发现在GatewayWorker上有分组推送功功能。。。改造的话用户分组登录和分组推送怎么实现呢,分组推送的话本质上不也是要一个个循环curl?
记得phpsocket.io是有join加入群组和群组发送方法的。估计得改造下web-msg-sender
GatewayWorker 和 phpsocket.io 是两个东西,都有分组功能,有分组功能当然不用一个个循环curl了。怎么用得看文档了
@mdx2007:
你之所以用 curl,是从你的业务系统给 web-msg-sender 发送指令(无论这个 web-msg-sender 是 phpsocket.io 实现的还是用 GatewayWorker 实现的,原理是一样的),这个环节理论上有三种形式:
给甲发送“你好” 给乙发送“你好” 给丙发送“你好”
给甲、乙、丙分别发送“你好”
给第一组的所有人分别发送“你好”
你原帖里说的方式(也就是现在的 web-msg-sender 实际支持的方式)是第一种,如果经过改造,可以让 web-msg-sender 支持第二种、第三种,它们都是只要一次 curl 就可以解决问题的。
不了解 web-msg-sender,控制端向 web-msg-sender 发指令只能是这种“一个一个地发送”吗?
能不能一次发送一批 uid?能不能用 group 方式?
如果不行的话,干脆改造或者自己写一个 web-msg-sender 好了,反正用 Workerman 做这种事情超简单,创建两个 Worker实例(一个 socketio 协议,一个 http 协议)就 OK 了。
发现在GatewayWorker上有分组推送功功能。。。改造的话用户分组登录和分组推送怎么实现呢,分组推送的话本质上不也是要一个个循环curl?
记得phpsocket.io是有join加入群组和群组发送方法的。估计得改造下web-msg-sender
发现在GatewayWorker上有分组推送功功能。。。改造的话用户分组登录和分组推送怎么实现呢,分组推送的话本质上不也是要一个个循环curl?
GatewayWorker 和 phpsocket.io 是两个东西,都有分组功能,有分组功能当然不用一个个循环curl了。怎么用得看文档了
@mdx2007:
你之所以用 curl,是从你的业务系统给 web-msg-sender 发送指令(无论这个 web-msg-sender 是 phpsocket.io 实现的还是用 GatewayWorker 实现的,原理是一样的),这个环节理论上有三种形式:
给甲发送“你好”
给乙发送“你好”
给丙发送“你好”
给甲、乙、丙分别发送“你好”
给第一组的所有人分别发送“你好”
你原帖里说的方式(也就是现在的 web-msg-sender 实际支持的方式)是第一种,如果经过改造,可以让 web-msg-sender 支持第二种、第三种,它们都是只要一次 curl 就可以解决问题的。