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

OSCHINA-MIRROR/phpArtist-swoole-start

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
01-环境搭建及扩展安装.md 3.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 04:51 cb930a5

Вызов функции set для настройки соответствующих параметров swoole_server

  1. Вызов функции on для установки соответствующих функций обратного вызова

Для получения подробной информации о параметрах конфигурации set и функциях обратного вызова on, пожалуйста, обратитесь к составленному мной документу swoole ( Параметры конфигурации)

Здесь приводится лишь краткое введение. Функция обратного вызова onStart вызывается перед запуском сервера, функция onConnect — при подключении нового клиента, функция onReceive — при отправке данных на сервер, а функция onClose — при отключении клиента.

Из этого можно примерно понять, как использовать swoole: отслеживать новые подключения в функции onConnect; получать и обрабатывать данные в функции onReceive, после чего можно вызывать функцию send для отправки обработанных результатов; обрабатывать события отключения клиентов в функции onClose.

Ниже приведён код клиента:

<?php
class Client
{
    private $client;

    public function __construct() {
        $this->client = new swoole_client(SWOOLE_SOCK_TCP);
    }
    
    public function connect() {
        if( !$this->client->connect("127.0.0.1", 9501 , 1) ) {
            echo "Error: {$fp->errMsg}[{$fp->errCode}]\n";
        }
        $message = $this->client->recv();
        echo "Get Message From Server:{$message}\n";

        fwrite(STDOUT, "请输入消息:");  
        $msg = trim(fgets(STDIN));
        $this->client->send( $msg );
    }
}

$client = new Client();
$client->connect();

В этом коде с помощью swoole_client создаётся экземпляр клиента на основе TCP, затем вызывается функция connect для запроса соединения с указанным IP и портом. После этого можно использовать функции recv() и send() для приёма и отправки запросов. Следует отметить, что здесь используется синхронный блокирующий клиент по умолчанию, поэтому операции recv и send могут вызвать блокировку сети.

(Оба кода были переданы через git, адрес: https://github.com/LinkedDestiny/swoole-doc/tree/master/src/01).

Анонс следующей главы: использование задач swoole и пример: простой чат.

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

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

1
https://api.gitlife.ru/oschina-mirror/phpArtist-swoole-start.git
git@api.gitlife.ru:oschina-mirror/phpArtist-swoole-start.git
oschina-mirror
phpArtist-swoole-start
phpArtist-swoole-start
master