All Projects → GeniusesOfSymfony → Websocketbundle

GeniusesOfSymfony / Websocketbundle

Licence: mit
〽️ Websocket server for Symfony applications (powered by Ratchet), includes a Autobahn.JS based JavaScript client

Projects that are alternatives of or similar to Websocketbundle

Microwebsrv
A micro HTTP Web server that supports WebSockets, html/python language templating and routing handlers, for MicroPython (used on Pycom modules & ESP32)
Stars: ✭ 420 (-25.27%)
Mutual labels:  websocket-server
Foscommentbundle
Threaded comments for Symfony
Stars: ✭ 451 (-19.75%)
Mutual labels:  symfony-bundle
Seasocks
Simple, small, C++ embeddable webserver with WebSockets support
Stars: ✭ 517 (-8.01%)
Mutual labels:  websocket-server
Websocket
The Hoa\Websocket library.
Stars: ✭ 421 (-25.09%)
Mutual labels:  websocket-server
Liipmonitorbundle
Integrates the LiipMonitor library into Symfony
Stars: ✭ 445 (-20.82%)
Mutual labels:  symfony-bundle
Php Websocket
Simple WebSocket server implemented in PHP.
Stars: ✭ 473 (-15.84%)
Mutual labels:  websocket-server
Doctrineenumbundle
📦 Provides support of ENUM type for Doctrine in Symfony applications.
Stars: ✭ 410 (-27.05%)
Mutual labels:  symfony-bundle
Entityauditbundle
Audit for Doctrine Entities
Stars: ✭ 546 (-2.85%)
Mutual labels:  symfony-bundle
Easy Deploy Bundle
The easiest way to deploy your Symfony applications
Stars: ✭ 446 (-20.64%)
Mutual labels:  symfony-bundle
Sentry Symfony
The official Symfony SDK for Sentry (sentry.io)
Stars: ✭ 515 (-8.36%)
Mutual labels:  symfony-bundle
Jwtrefreshtokenbundle
Implements a Refresh Token system over Json Web Tokens in Symfony
Stars: ✭ 425 (-24.38%)
Mutual labels:  symfony-bundle
Phone Number Bundle
Integrates libphonenumber into your Symfony2-Symfony4 application
Stars: ✭ 446 (-20.64%)
Mutual labels:  symfony-bundle
Whiteoctoberpagerfantabundle
Bundle to use Pagerfanta with Symfony
Stars: ✭ 480 (-14.59%)
Mutual labels:  symfony-bundle
Doctrine Json Odm
An object document mapper for Doctrine ORM using JSON types of modern RDBMS.
Stars: ✭ 420 (-25.27%)
Mutual labels:  symfony-bundle
Cppserver
Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution
Stars: ✭ 528 (-6.05%)
Mutual labels:  websocket-server
Sonatamediabundle
Symfony SonataMediaBundle
Stars: ✭ 415 (-26.16%)
Mutual labels:  symfony-bundle
Apydatagridbundle
Symfony Datagrid Bundle
Stars: ✭ 452 (-19.57%)
Mutual labels:  symfony-bundle
Gwsocket
fast, standalone, language-agnostic WebSocket server RFC6455 compliant
Stars: ✭ 550 (-2.14%)
Mutual labels:  websocket-server
Rockgo
A developing game server framework,based on Entity Component System(ECS).
Stars: ✭ 532 (-5.34%)
Mutual labels:  websocket-server
Sensiodistributionbundle
Base bundle for Symfony Distributions
Stars: ✭ 501 (-10.85%)
Mutual labels:  symfony-bundle

GosWebSocketBundle

Latest Stable Version Latest Unstable Version Total Downloads License Run Tests

About

GosWebSocketBundle is a Symfony bundle designed to bring together websocket functionality in a easy to use application architecture.

Much like Socket.IO, it provides both a server and client implementation ensuring you have to write as little as possible to get your application up and running.

Powered By Ratchet and Autobahn JS, with Symfony

Demo project

Support

Version Status Symfony Versions Documentation
1.x No Longer Supported 2.3-2.8, 3.0-3.4, 4.0-4.4 View Docs
2.x No Longer Supported 3.4, 4.4 View Docs
3.x Actively Supported 4.4, 5.1-5.2 View Docs

What can I do with this bundle?

Websockets are very helpful for applications which require live activity and updates, including:

  • Chat applications
  • Real time notifications
  • Browser games

Built in features

  • PHP Websocket server (IO / WAMP)
  • PHP Websocket client (IO / WAMP)
  • JavaScript Websocket client (IO / WAMP)
  • PubSub Router
  • Remote Procedure Calls
  • User authentication
  • Periodic calls
  • Origin checker
  • Push (amqp)

Resources

Code Cookbook

Installation Instructions

Step 1: Install via Composer

  • If you are using Symfony 3.3 or older, you will need the 1.x version of this bundle
  • If you are using Symfony 3.4 or 4.4, you should use the 2.x version of this bundle (note Symfony 4.0 thru 4.3 are no longer supported)
  • If you are using Symfony 4.4 or 5.0, you should use the 3.x version of this bundle

composer require gos/web-socket-bundle

Step 2: Enable the bundle

If your application is based on the Symfony Standard structure, you will need to add the bundle and its dependency, the GosPubSubRouterBundle, to your AppKernel class' registerBundles() method.

<?php
// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = [
            // ...

            new Gos\Bundle\PubSubRouterBundle\GosPubSubRouterBundle(),
            new Gos\Bundle\WebSocketBundle\GosWebSocketBundle(),
        ];

        // ...
    }

    // ...
}

If your application is based on the Symfony Flex structure, the bundle should be automatically registered, otherwise you will need to add it and its dependency, the GosPubSubRouterBundle, to your config/bundles.php file.

<?php

return [
    // ...

    Gos\Bundle\PubSubRouterBundle\GosPubSubRouterBundle::class => ['all' => true],
    Gos\Bundle\WebSocketBundle\GosWebSocketBundle::class => ['all' => true],
];

Step 3: Configure the bundle

The following is the minimum configuration necessary to use the bundle. If you are using the Symfony Standard structure, this will be added to your app/config/config.yml file. If you are using the Symfony Flex structure, this will be added to your config/packages/gos_web_socket.yaml file.

gos_web_socket:
    server:
        port: 8080        # The port the socket server will listen on
        host: 127.0.0.1   # The host ip to bind to

Step 4: Launching the server

With the bundle installed and configured, you can now launch the websocket server through your Symfony application's command-line console.

php bin/console gos:websocket:server

If everything is successful, you will see something similar to the following:

INFO      [websocket] Starting web socket
INFO      [websocket] Launching Ratchet on 127.0.0.1:8080 PID: 12345

Congratulations, your websocket server is now running. However, you will still need to add integrations to your application to fully use the bundle.

Original Project

https://github.com/JDare/ClankBundle

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].