承接 ekstazi/websocket-server-adapter-amphp 相关项目开发

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

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

ekstazi/websocket-server-adapter-amphp

Composer 安装命令:

composer require ekstazi/websocket-server-adapter-amphp

包简介

Async WebSocket server adapter for Amp based on different implementations.

README 文档

README

Adapter of aerys websocket server

Installation

This package can be installed as a Composer dependency.

composer require ekstazi/websocket-server-adapter-amphp

Requirements

PHP 7.2+

Usage

With container

If you have container then add this to your container.php

use Amp\Http\Server\Options;
use ekstazi\websocket\server\amphp\FactoryBuilder;
use ekstazi\websocket\server\ServerFactory;

// ....

return [
    ServerFactory::class => new FactoryBuilder(),
    // this is optional config for default options to connections
    "config" => [
        "websocket" => [
            'serverOptions' => new Options(),
        ]
    ]
];

Then in your code:

use Amp\Promise;
use Amp\Success;
use Amp\Socket\Server;
use ekstazi\websocket\server\Connection;
use ekstazi\websocket\server\ConnectionInfo;
use ekstazi\websocket\server\Handler;
use ekstazi\websocket\server\ServerFactory;
use \Psr\Container\ContainerInterface;

/** @var ContainerInterface $container */
/** @var ServerFactory $factory */

$factory = $container->get(ServerFactory::class);
$server = $factory->create(Server::listen('tcp://127.0.0.1:8000'));

$server->addRoute('/ws', new class() implements Handler {
    public function onHandshake(ConnectionInfo $connectionInfo): Promise {
     return new Success();
    }
    public function handle(Connection $connection): Promise {
     return new Success();
    }
    public function getSubProtocols() : array{
     return [];
    }
});

$server->run();

Without container

use Amp\Promise;
use Amp\Success;
use Amp\Socket\Server;
use ekstazi\websocket\server\amphp\ServerFactory;
use ekstazi\websocket\server\Connection;
use ekstazi\websocket\server\ConnectionInfo;
use ekstazi\websocket\server\Handler;

/** @var ServerFactory $factory */
$factory = new ServerFactory(new \Amp\Http\Server\Options());
$server = $factory->create(Server::listen('tcp://127.0.0.1:8000'));

$server->addRoute('/ws', new class() implements Handler {
    public function onHandshake(ConnectionInfo $connectionInfo): Promise {
     return new Success();
    }
    public function handle(Connection $connection): Promise {
     return new Success();
    }
    public function getSubProtocols() : array{
     return [];
    }
});

$server->run();

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-04-10

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固