swoole_client->on

ע���첽�¼��ص�����������on������ʹ��ǰ��socket��ɷ������ġ�

int swoole_client::on(string $event, mixed $callback);

����1Ϊ�¼����ͣ�֧��connect/error/receive/close 4�֡�
����2Ϊ�ص������������Ǻ������ַ����������������ྲ̬���������󷽷���

  • ����swoole_client->close()ʱ���Զ��˳��¼�ѭ��
  • on����Ҳ��������UDPЭ���ϣ���Ҫv1.6.3���ϰ汾��UDPЭ���connect�¼���ִ����connect�������������ص�udpû��close�¼�
  • ͬ�������ͻ���һ����Ҫʹ��on����

v1.6.10

��1.6.10��ʼ��onReceive������Ҫ����һ��$client->recv()���������ݣ�onReceive�ص������ĵڶ������������յ��������ˡ�
����onClose�¼���Ҳ�������$client->close()��swoole�ں˻��Զ�ִ��close��

ʾ����

$client = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_ASYNC); //�첽������
$client->on("connect", function($cli) {
    $cli->send("hello world\n");
});

$client->on("receive", function($cli, $data = ""){
    $data = $cli->recv(); //1.6.10+ ����Ҫ
    if(empty($data)){
        $cli->close();
        echo "closed\n";
    } else {
        echo "received: $data\n";
        sleep(1);
        $cli->send("hello\n");
    }
});

$client->on("close", function($cli){
    $cli->close(); // 1.6.10+ ����Ҫ
    echo "close\n";
});

$client->on("error", function($cli){
    exit("error\n");
});

$client->connect('127.0.0.1', 9501, 0.5);