PHP code example of dimns / websocket-php

1. Go to this page and download the library: Download dimns/websocket-php library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

dimns / websocket-php example snippets


    
    use WebSocketPHP\Server;

      $log_folder = __DIR__ . '/logs/';

    // PID-файл
    $pid_file = __DIR__ . '/websocketphp.pid';

    // Websocket порт
    $ws_port = 8090;

    // TCP порт
    $tcp_port = 5020;

    /**
    * Функция для определения ИД пользователя (может отсутствовать)
    *
    * @param string $sid
    *
    * @return integer
    */
    $func_get_user_id = function ($sid) {
        return 0;
    };

    $websocket = new Server($log_folder, $pid_file, $ws_port, $tcp_port, $func_get_user_id);
    $websocket->start();
    

use WebSocketPHP\Sender;

// TCP порт
$tcp_port = 5020;

$sender = new Sender($tcp_port);

// Всем пользователям
$user_id = 0;
$type = 'test_all';
$data = [
    'variable 1' => 'value 1',
    'variable 2' => 'value 2',
];
$sender->send($user_id, $type, $data);

// Только одному конкретному пользователю
$user_id = 1;
$type = 'test_1';
$data = [
    'variable 1' => 'value 1',
    'variable 2' => 'value 2',
];
$sender->send($user_id, $type, $data);

// Только одному конкретному пользователю
$user_id = 2;
$type = 'test_2';
$sender->send($user_id, $type);

// Одинаковое сообщением нескольким пользователям
$user_id = [1, 2];
$type = 'test_12';
$sender->send($user_id, $type);
shell
    composer 
nginx
location /websocket {
    proxy_read_timeout 300s;
    proxy_send_timeout 120s;
    proxy_connect_timeout 75s;
    proxy_pass http://127.0.0.1:8090;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
}