gos/websocket-client

WAMP client in PHP

Maintainers

πŸ‘ ProPheT777

Package info

github.com/GeniusesOfSymfony/WebSocketPhpClient

pkg:composer/gos/websocket-client

Fund package maintenance!

mbabker

Statistics

Installs: 2 306 825

Dependents: 3

Suggesters: 0

Stars: 33

Open Issues: 0

v1.5.0 2021-11-24 03:24 UTC

Requires

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 97354f2b970f59cb6d511307ef7af5f761b684ff

  • Martin BaΕΎΓ­k <martin.woop@bazo.sk>
  • Johann Saunier <johann_27.woop@hotmail.fr>

websocketRatchetWAMP

This package is auto-updated.

Last update: 2026-05-24 13:12:40 UTC


README

NOTE - This repository is deprecated, future releases will only be made for critical bugs and security vulnerabilities. Use Pawl instead.

WebSocketPhpClient

πŸ‘ Latest Stable Version
πŸ‘ Latest Unstable Version
πŸ‘ Total Downloads
πŸ‘ License

About

This package provides a PHP client that can send messages to a websocket server utilizing the WAMPv1 protocol. Listening for replies is not supported at this time.

Supported functions:

  • prefix
  • call
  • publish
  • event

Usage

Directly Create A Client

You can directly create a Gos\Component\WebSocketClient\Wamp\ClientInterface instance by creating a new Gos\Component\WebSocketClient\Wamp\Client object. The constructor has two mandatory requirements; the server host and port. You may review the Client class constructor to see all arguments.

<?php
use Gos\Component\WebSocketClient\Wamp\Client;

$client = new Client('127.0.0.1', 8080);

Through The Factory

A Gos\Component\WebSocketClient\Wamp\ClientFactoryInterface is available to create client instances as well. The default Gos\Component\WebSocketClient\Wamp\ClientFactory supports a PSR-3 logger and will automatically inject it into the client if one is present.

<?php
use Gos\Component\WebSocketClient\Wamp\ClientFactory;

$factory = new ClientFactory(['host' => '127.0.0.1', 'port' => 8080]);
$client = $factory->createConnection();

Interact With Server

Once you have created a client, you can connect and interact with your websocket server.

<?php
use Gos\Component\WebSocketClient\Wamp\ClientFactory;

$factory = new ClientFactory(['host' => '127.0.0.1', 'port' => 8080]);
$client = $factory->createConnection();

$sessionId = $client->connect();

// Establish a prefix on server
$client->prefix('calc', 'http://example.com/simple/calc#');

// You can send an arbitrary number of arguments
$client->call('calc', 12, 14, 15);

$data = [0, 1, 2];

// Or an array
$client->call('calc', $data);

$exclude = [$sessionId]; // No sense in sending the payload to ourselves
$eligible = []; // List of other clients ids that are eligible to receive this payload

$client->publish('topic', '', $exclude, $eligible);

// Publish an event
$client->event('topic', '');
$client->disconnect();

License

This software is distributed under MIT License. See LICENSE for more info.

Original Project

https://github.com/bazo/wamp-client