kypt0nn/sockets

简单的套接字实现

0.1.1 2021-08-08 13:16 UTC

This package is auto-updated.

Last update: 2024-09-08 20:11:56 UTC


README

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);
}

作者:Podvirnyi Nikita