if(isset($connection->uid)) { print_r(111); $connection->uid = $data->uid; $this->worker->uidConnections[$connection->uid] = $connection; }
这个isset 无法生效 就是判断这个是否已经设置 一直都是未设置
技术不行直接用 GatewayWorker 就好,何必给自己找麻烦呢.
if(isset($connection->uid)) {//这里是设置了uid 才执行里面代码,问题你赋值是在里面赋值的,那怎么可能会执行到里面代码呢,执行不到不就是一直赋不了值吗
}
GatewayWorker 可以实现1对多聊天嘛
能不能实现看的是你php水平,而不是GatewayWorker,他已经给你封装好了单发,群发接口,而你的一对多我不太清楚你的实际需求,但你要是能用workerman实现,那肯定可以用GatewayWorker更方便的实现. 至于用workerman实现的话,你需要考虑的不仅仅是$connection->send() 发送过去就好了,除非说你就做一个单进程的简单聊天系统.不然你绕不过去多进程跟分布式部署它们之间的通讯,这对于你这种对多进程没什么概念的来说,你把它们写出来的时间足够你用GatewayWorker把项目写出来了.
大佬有具体的实例可以给我参考一下嘛
GatewayWorker文档就是最好的实例. 估计没谁那么闲真的会来手把手教你的. 又不是收了你学费, 好好看看GatewayWorker文档就行了,多看多写几遍就会了.
用gateway吧,那个省事,单聊 群聊,文字 图片 都可以实现,文档也比较齐全
有具体的案例嘛 可以让我学习一下
取需要发送的uid 然后发送了 看数据里面是否有需要发送的用户
技术不行直接用 GatewayWorker 就好,何必给自己找麻烦呢.
if(isset($connection->uid)) {//这里是设置了uid 才执行里面代码,问题你赋值是在里面赋值的,那怎么可能会执行到里面代码呢,执行不到不就是一直赋不了值吗
}
GatewayWorker 可以实现1对多聊天嘛
能不能实现看的是你php水平,而不是GatewayWorker,他已经给你封装好了单发,群发接口,而你的一对多我不太清楚你的实际需求,但你要是能用workerman实现,那肯定可以用GatewayWorker更方便的实现.
至于用workerman实现的话,你需要考虑的不仅仅是$connection->send() 发送过去就好了,除非说你就做一个单进程的简单聊天系统.不然你绕不过去多进程跟分布式部署它们之间的通讯,这对于你这种对多进程没什么概念的来说,你把它们写出来的时间足够你用GatewayWorker把项目写出来了.
大佬有具体的实例可以给我参考一下嘛
GatewayWorker文档就是最好的实例. 估计没谁那么闲真的会来手把手教你的. 又不是收了你学费, 好好看看GatewayWorker文档就行了,多看多写几遍就会了.
用gateway吧,那个省事,单聊 群聊,文字 图片 都可以实现,文档也比较齐全
有具体的案例嘛 可以让我学习一下
取需要发送的uid 然后发送了 看数据里面是否有需要发送的用户