承接 kanata-php/conveyor-server-client 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

kanata-php/conveyor-server-client

最新稳定版本:0.1.6

Composer 安装命令:

composer require kanata-php/conveyor-server-client

包简介

Server-Side WebSocket Client ready for Socket Conveyor

README 文档

README

Tests

A server-side client for the php package kanata-php/socket-conveyor

Prerequisites

Install

composer require kanata-php/conveyor-server-client

Description

This is a server-side client for the Socket Conveyor PHP package.

Usage

Once installed, the following example shows how it works to use this package.

use Kanata\ConveyorServerClient\Client;

$options = [
    'onMessageCallback' => function(Client $currentClient, string $message) {
        echo 'Message received: ' . $message . PHP_EOL;
    },
];

$client = new Client($options);
$client->connect();

With the previous example you'll have a PHP script connected and waiting for messages to come. For each message received there will be a printed message in the terminal executing this script. This client will try to connect to ws://127.0.0.1:8000. To understand more Socket Conveyor channel and listeners you can head to its documentation.

Important: this example doesn't have timeout. This means it will be running until its process gets killed. If you just need to listen for a limited time, or need a timeout for any other reason, use the timeout option.

This package has the following options (showing its respective defaults):

[
    /**
     * @var string
     */
    'protocol' => 'ws',
    
    /**
     * @var string
     */
    'uri' => '127.0.0.1',
    
    /**
     * @var int
     */
    'port' => 8000,
    
    /**
     * @var string
     */
    'query' => '',
    
    /**
     * @var ?string
     */
    'channel' =>  null,
    
    /**
     * @var ?string
     */
    'listen' => null,
    
    /**
     * @var ?callable
     */
    'onOpenCallback' => null,
    
    /**
     * @var ?callable
     */
    'onReadyCallback' => null,
    
    /**
     * Callback for incoming messages.
     * Passed parameters:
     *   - \WebSocket\Client $client
     *   - string $message
     *
     * @var ?callable
     */
    'onMessageCallback' => null,
    
    /**
     * Callback for disconnection.
     * Passed parameters:
     *   - \WebSocket\Client $client
     *   - int $reconnectionAttemptsCount
     *
     * @var ?callable
     */
    'onDisconnectCallback' => null,
    
    /**
     * Callback for Reconnection moment.
     * Passed parameters:
     *   - \WebSocket\Client $client
     *   - int \Throwable $e
     *
     * @var ?callable
     */
    'onReconnectionCallback' => null,
    
    /**
     * When positive, considered in seconds
     *
     * @var int
     */
    'timeout' => -1,
    
    /**
     * @var bool
     */
    'reconnect' => false;
    
    /**
     * Number of attempts if disconnects
     * For this to keeps trying forever, set it to -1. 
     *
     * @var int
     */
    'reconnectionAttempts' => = 0;
    
    /**
     * Interval to reconnect in seconds 
     * 
     * @var int 
     */
    'reconnectionInterval' => = 2;
]

This is this package's Conveyor Client interface:

namespace Kanata\ConveyorServerClient;

use WebSocket\Client;

interface ClientInterface
{
    public function connect(): void;
    public function getClient(): ?Client;
    public function close(): void;
    public function send(string $message): void;
    public function sendRaw(string $message): void;
}

Author

👤 Savio Resende

📝 License

Copyright © 2022 Savio Resende.

统计信息

  • 总下载量: 194
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 3
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-09-25

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固