Skip to content

An long polling stack for PHP-based real-time applications

License

Notifications You must be signed in to change notification settings

mrananyan/parrot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Parrot

An easy to use Facebook like long polling stack for PHP-based real-time applications

Demo

Demo app Demo app source

Requirements

  • Redis
  • PHP-FPM
  • Nginx

Installation

composer require mrananyan/parrot:1.0.0

How setup

  1. Configuration

If you want to connect via TCP (Recommended for remote server)

$parameters = [
                  'scheme' => 'tcp',
                  'host'   => '127.0.0.1',
                  'port'   => 6379,
              ];

If you want to connect via UNIX socket (Recommended if Redis on same server)

$parameters = [
                  'scheme' => 'unix',
                  'path'   => '/var/run/redis/redis.sock',
              ];
  1. Worker. You can subscribe to many channels at once if you need. ('chanel1','chanel2' ...)
use Parrot\Server\Worker;

$parrotWorker = new Worker($parameters);
$messages = $parrotWorker->subscribe('myChanel');
echo json_encode($messages);
  1. Publisher. Send message to users who subscribed to myChanel chanel
use Parrot\Client\Publisher;

$publisher = new Publisher($parameters);
$publisher->set('myChanel', 'Your message string here');

About

An long polling stack for PHP-based real-time applications

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages