Skip to content

Небольшая библиотека для работы с сокетами для PHP 7.4+

License

Notifications You must be signed in to change notification settings

krypt0nn/sockets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Sockets

sockets - небольшая библиотека для работы с сокетами на PHP 7.4+

Установка

composer require krypt0nn/sockets

Пример работы

Клиент:

<?php

require 'vendor/autoload.php';

use Sockets\Client;

$client = new Client;
$client->connect ('127.0.0.1', 53874);

while (true)
    $client->send (readline ('> '));

Сервер:

<?php

require 'vendor/autoload.php';

use Sockets\Listener;

$listener = new Listener (53874);

$i = 0;
$client = $listener->acceptAsync()->call(function () use (&$i)
{
    if (++$i == 10)
        return false;
    
    echo 'Waiting for connections... ('. $i .')' . PHP_EOL;
    sleep (1);

    return true;
});

if ($client === null)
    die ('Client not connected');

echo 'Client connected'. PHP_EOL;

while (true)
{
    try
    {
        $messages = @$client->read ();
    }

    catch (\Exception $e)
    {
        continue;
    }
    
    foreach ($messages as $message)
        echo '> '. $message . PHP_EOL;

    sleep (1);
}

Автор: Подвирный Никита

About

Небольшая библиотека для работы с сокетами для PHP 7.4+

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages