Download the PHP package osumionline/plugin-websocket without Composer

On this page you can find all versions of the php package osumionline/plugin-websocket. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package plugin-websocket

osumionline/plugin-websocket

Plugin para añadir soporte de servidor WebSocket a Osumi Framework.

Este plugin permite arrancar un servidor WebSocket independiente desde una tarea CLI de la aplicación, definir acciones personalizadas y asociarlas a componentes del framework.

Características

Instalación

/src/Config/Config.json json { "plugins": { "websocket": { "host": "localhost", "port": 8080, "path": "/ws" } } } javascript const ws = new WebSocket('ws://localhost:8080/ws');

src/ Task/ StartServerTask.php Websocket/ actions.php Modules/ PingComponent.php LoginComponent.php SendMessageComponent.php

src/Websocket/actions.php json { "action": "ping", "data": {} } json { "action": "send-message", "data": { "message": "Hola" } } json { "action": "send-message", "data": ["Hola"] } json { "status": "ok", "data": { "message": "pong" } } json { "status": "error", "error": "unknown_action" } json { "status": "{{status}}", "data": { "message": "{{data.message}}" } }



## Autenticación

El plugin no impone ninguna acción concreta para autenticar.

Es el usuario quien decide:
- cómo se llama la acción (login, authenticate, etc.)
- cómo obtiene el token
- cómo valida el token

## Validación de tokens

El servidor puede recibir un método validador mediante:

La firma esperada es:

- Si el token no es válido, debe devolver null
- Si es válido, debe devolver un array con al menos:
  - id

Ejemplo:

## Gestión de usuario

El plugin mantiene en memoria:
- conexiones abiertas
- usuarios asociados
- conexiones de cada usuario

Un usuario puede tener varias conexiones abiertas al mismo tiempo.

## Asociar usuario a la conexión actual

Ejemplo:

## Obtener datos de usuario

Usuario actual:

Usuario concreto:

## Cerrar sesión o expulsar usuario

Usuario actual:

Usuario concreto:

Esto cerrará todas las conexiones asociadas a ese usuario y borrará sus datos de memoria.

## Envío de mensajes

Enviar a la conexión actual

## Enviar a todas las conexiones de un usuario

## Broadcast global

## Broadcast a usuarios autenticados

## Depuración

El plugin ofrece un método para obtener información interna del estado actual:

Devuelve un JSON con información sobre:
- conexión actual
- conexiones abiertas
- usuarios cargados en memoria
- acciones registradas

Ejemplo de uso desde un componente o acción de administración:

## Errores estándar

Actualmente el plugin puede devolver estos errores:
- invalid_json
- bad_request
- unknown_action
- unauthorized
- invalid_response
- server_error

## Flujo general
1.  Se arranca el servidor desde una tarea CLI
2.  Se cargan las acciones definidas en `src/Websocket/actions.php`
3.  Un cliente abre una conexión WebSocket
4.  El cliente envía un mensaje con `action` y `data`
5.  El plugin valida el mensaje
6.  Busca la acción registrada
7.  Si la acción es protegida, valida la autenticación
8.  Crea un `ORequest` con los datos recibidos
9.  Ejecuta el componente asociado
10. Envía la respuesta JSON al cliente

## Notas
- El plugin no modifica el core de Osumi Framework
- El plugin reutiliza el sistema de componentes existente
- El plugin está pensado para PHP 8.2 o superior
- La validación de autenticación queda totalmente en manos de la aplicación

## Licencia

MIT

All versions of plugin-websocket with dependencies

PHP Build Version
Package Version
Requires php Version >=8.2
cboden/ratchet Version ^0.4.4
osumionline/framework Version ^9.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package osumionline/plugin-websocket contains the following files

Loading the files please wait ...