因项目只做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

相关推荐
tryqaaa_5 小时前
md5和sha1常见绕过【详细附新生赛题目】
web安全·php·web
ShoreKiten7 小时前
第三届SHCTF--EZphp
web安全·php·php反序列化
2401_8589368811 小时前
深入理解 TCP 并发服务器:从 IO 模型到多路复用实现
服务器·tcp/ip·php
战神/calmness11 小时前
应急响应-勒索病毒 13
网络·web安全·php·勒索病毒
bug攻城狮12 小时前
Docker高级篇04:Docker网络
网络·docker·php
工业甲酰苯胺14 小时前
PHP闭包中static关键字的核心作用与底层原理解析
android·开发语言·php
开始了码15 小时前
基于 Qt 实现多客户端 TCP 通信聊天室
开发语言·数据库·php
天远云服16 小时前
PHP微服务风控架构:无缝接入天远劳动仲裁信息查询API排查用工黑产
大数据·微服务·架构·php
xiangzhihong817 小时前
放生小龙虾,OpenClaw 安全卸载指南
服务器·安全·php
咖啡续命又一天17 小时前
PHP 8.2 (Windows) 安装 Redis 扩展最新教程
windows·redis·php