定制 snapflowio/websocket 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

snapflowio/websocket

最新稳定版本:v0.1.0

Composer 安装命令:

composer require snapflowio/websocket

包简介

A simple and lightweight library for building Websocket servers.

README 文档

README

A simple and lightweight library for building Websocket servers.

Installation

composer require snapflowio/websocket

Quick Start

Server Example

<?php

use Snapflow\Websocket\Server\Server;
use Snapflow\Websocket\Server\ServerConfig;
use Snapflow\Websocket\Server\Adapter\SwooleAdapter;

$config = new ServerConfig(
    host: '0.0.0.0',
    port: 9501,
    workerNumber: 4
);

$server = new Server(new SwooleAdapter($config));

$server
    ->onStart(fn() => echo "Server started on 0.0.0.0:9501\n")
    ->onOpen(fn(int $fd) => echo "Client #{$fd} connected\n")
    ->onMessage(function (int $fd, string $data) use ($server) {
        echo "Received: {$data}\n";
        $server->send([$fd], "Echo: {$data}");
    })
    ->onClose(fn(int $fd) => echo "Client #{$fd} disconnected\n");

$server->start();

Client Example

<?php

use Snapflow\Websocket\Client\Client;
use Snapflow\Websocket\Client\ClientConfig;

go(function () {
    $config = new ClientConfig(url: 'ws://127.0.0.1:9501');
    $client = new Client($config);

    $client
        ->onOpen(fn() => echo "Connected!\n")
        ->onMessage(fn(string $data) => echo "Received: {$data}\n")
        ->onClose(fn() => echo "Disconnected\n");

    $client->connect();
    $client->send('Hello, Server!');
    $client->listen();
});

License

This library is available under the MIT License.

Copyright

Copyright (c) 2025 Snapflow

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-12-18