workerman推送

本文介绍如何利用Workerman框架来实现WebSocket服务,详细阐述了服务端和客户端的代码实现,为实时通信提供解决方案。
摘要由CSDN通过智能技术生成

服务端代码

<?php
    //websocket服务器
    //问题:
    //1.消息发送,收件方可以有多人
    //2.没有在线的发送不了,上线后发送
    //3.发送失败,返回信息
    //1.设置名称和得到当前没有接收的信息:'{"name":"index","operation":"setget"}';
    //2.发送信息,to为数组'{"from":"index","to":{"0":"shijie","1":"ninini"},"info":"xxxxxxxx","operation":"sendinfo"}';
    //基本思路:当连接完成时后,客户端发送数据,将自己链接重新命名,并查看redis中是否有自己未接收的信息,如果有就返回,每个链接重新命名后都是唯一的,当发送信息时,查看是否有当前客户端是否有链接,如果有链接就发送过去,并将status值改为ok,没有发送则为no,将二维数组存入redis中
    use Workerman\Worker;
    require_once './Workerman/Autoloader.php';
    $websocket=new Worker('websocket://0.0.0.0:9501');
        $redis=new Redis();
        $redis->connect('x.x.x.x');
        $redis->auth('sincityall');
    $websocket->onWorkerStart=function($worker){
    
        $i=0;
        if($i<1){
         echo "websocket服务已经启动\n" ;
        }
        ++$i;

    };
    $websocket->onConnect=function($connection){
    
        echo "有客户端已经连接\n";
    };


    $websocket->onMessage=function($connection,$data)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值