27、Hyperf 3 快速使用 - Hyperf 3 协程 WebSocket 客户端
hi,我是温新,一名 PHPer
Hypref 版本:Hyperf 3.0
学习目标:学习 Hyperf 3 协程 WebSocket 客户端的使用
本篇文章根据文档案例进行简单的协程 websocket 客户端测试。
第一步:安装组件包
composer require hyperf/websocket-client
第二步:创建控制器并使用
<?php
namespace App\Controller\Test;
use Hyperf\Di\Annotation\Inject;
use Hyperf\HttpServer\Annotation\Controller;
use Hyperf\HttpServer\Annotation\GetMapping;
use Hyperf\WebSocketClient\ClientFactory;
// websocket 协程客户端
#[Controller]
class WebSocketClientController
{
#[Inject]
protected ClientFactory $clientFactory;
#[GetMapping('/ws/index')]
public function index()
{
// 不自动关闭连接
$autoClose = false;
// 服务端地址
$host = '192.168.31.90:9509';
// 通过 ClientFactory 创建 Client 对象,创建出来的对象为短生命周期对象
$client = $this->clientFactory->create($host, $autoClose);
// 向服务端发送消息
$client->push('HttpServer 中使用 WebSocket Client 发送数据。');
// 接收服务端消息并设置 2 秒超时
$msg = $client->recv(2);
// 获取文本数据:$res_msg->data
return $msg->data;
}
}
第三步:测试
$ curl http://192.168.31.90:9501/ws/index
发给 2 号客户端的消息:HttpServer 中使用 WebSocket Client 发送数据。
本篇文章结束,我是温新。
请登录后再评论