因项目只做socket客户端,不想用workerman或者swoole框架,简单实现ws PHP客户端

php 复制代码
D:\phpstudy_pro\Extensions\php\php7.4.3nts\composer require textalk/websocket
1、因项目只做socket客户端,不想用workerman或者swoole框架,简单实现ws PHP客户端
<?php
use WebSocket\Client as WsClient;

 private static $worker = null;
 
 public static function getClinet($url) {
        if (self::$worker == null) {
            self::$worker = new WsClient($url);
        }

        try {
            self::$worker->ping();
        } catch (\Exception $e) {
            self::$worker = null;
            return null;
        }

        return self::$worker;
    }
	
	public function sendToWorkerByWebSocket($taskModel) {
        $data = [
            'id' => $taskModel->id,
            'inst' => $taskModel->inst,
        ];
        $jsonData = json_encode($data);

        $url = sprintf('ws://%s:%d/ws', env('TCPWORKER_IP', '127.0.0.1'), env('TCPWORKER_PORT', 6));

        $client = self::getClinet($url);
        if ($client) {
            try {
                $client->send($jsonData);
                // $res = $client->receive();
                \Log::channel('websocket')->info('success:' .$jsonData);
            } catch (\Exception $e) {
                \Log::channel('websocket')->info($e->getMessage());
                \Log::channel('websocket')->info('fail:' .$jsonData);
            }
        } else {
            \Log::channel('websocket')->info('fail:ping不通');
        }

        return true;
    }

docs/Client.md · master · mirrors / Textalk / websocket-php · GitCode

相关推荐
FfHUCisI7 小时前
GMP 调度器:Go 并发的心脏是如何跳动的
开发语言·golang·php
星云API技术支持7 小时前
企业微信二次开发外部群:群聊数据与联系人信息如何建立关联
数据库·php·企业微信
sbjdhjd1 天前
PHP eval 型 RCE:flag 正则过滤与通配符绕过实操 | 01
安全·web安全·网络安全·开源·系统安全·php·网络攻击模型
qetfw1 天前
Debian Nginx + PHP-FPM 配置:FastCGI、站点目录与访问验证
linux·nginx·debian·php
啊阿狸不会拉杆1 天前
《计算机网络-自顶向下方法》3.6 拥塞控制原理 读书笔记
计算机网络·智能路由器·php
郑州光合科技余经理2 天前
本地生活服务系统:成品模块和定制接口怎么划界
java·前端·人工智能·后端·系统架构·php·ai编程
LorryJovens2 天前
【LAAP科研】CEN因果等价网络理论---从双缝干涉到因果等价
开发语言·php
Casual2 天前
【网络基础进阶】:看懂子网划分与 VLAN
开发语言·网络·php
0xBADCODE2 天前
CTF Writeup 合集
安全·web安全·网络安全·系统安全·密码学·php·ctf
IPdodo_2 天前
静态 IP 访问异常排查:403/429 归因与迁移验收
服务器·网络·数据库·python·网络协议·php·性能测试