1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/cc_1234-Group-Co

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
yi-bu-tcp-ke-hu-duan.md 2.3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 02.12.2024 11:43 b1fd262

Асинхронный TCP-клиент

Последовательная отправка пакетов

    use AsyncTcp;

    $tcp = new AsyncTcp('127.0.0.1', 9501);
    $tcp->setTimeout(2);
    // Последовательная отправка
    $res = (yield $tcp->call('hello server!'));
    $res = (yield $tcp->call('hello server!'));

Параллельная отправка пакетов

    use AsyncTcp;

    $tcp = new AsyncTcp('127.0.0.1', 9501);
    $tcp->setTimeout(2);
    // Параллельная отправка данных пакетов
    $tcp->addCall('hello server1!');
    $tcp->addCall('hello server2!');
    $res = (yield $tcp->multiCall());
Советы (если вы используете асинхронный TCP-клиент для связи с другими серверами)
  • Формат пакетов данных TCP-клиента можно настроить в config/app.php.
  • Если protocol равен buf, данные упаковываются по схеме «заголовок пакета + тело пакета», где заголовок представляет собой 4 байта и содержит длину тела пакета. Распаковка происходит аналогичным образом — по заголовку пакета и телу пакета, поэтому сервер должен отправлять данные, следуя тому же правилу упаковки.
  • Если protocol равен eof, данные упаковываются с использованием символа конца строки '\r\n'. Распаковка также происходит по символу конца строки. Сервер должен следовать этому же правилу при отправке данных.
  • Если протокол не задан, то данные не упаковываются. Этот режим можно использовать для ответных сообщений, иначе может возникнуть проблема с дублированием данных. (В рамках фреймворка этот режим используется для внутренних сервисов).

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/cc_1234-Group-Co.git
git@api.gitlife.ru:oschina-mirror/cc_1234-Group-Co.git
oschina-mirror
cc_1234-Group-Co
cc_1234-Group-Co
master