라이브러리

[PHP] SwooleCoroutineClient::recv




SwooleCoroutineClient::recv 소개


Swoole Coroutine Client는 PHP에서 비동기 TCP/UDP 소켓 통신을 지원하는 라이브러리입니다. Swoole Coroutine Client는 Swoole의 Coroutine 기능을 사용하여 비동기 통신을 지원하며, recv 메소드는 클라이언트가 서버로부터 데이터를 수신하는 메소드입니다.

SwooleCoroutineClient::recv 사용법


#hostingforum.kr
php

use SwooleCoroutineClient;



// 클라이언트 생성

$client = new Client(SWOOLE_SOCK_TCP);



// 서버 연결

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



// 서버로부터 데이터 수신

$data = $client->recv();



// 데이터 출력

echo "수신 데이터: $data
";



SwooleCoroutineClient::recv 옵션


recv 메소드는 다음과 같은 옵션을 지원합니다.

* `length`: 수신 데이터의 길이를 지정합니다. 기본값은 0입니다.
* `timeout`: 수신 데이터를 기다리는 시간을 지정합니다. 기본값은 0입니다.

#hostingforum.kr
php

// 수신 데이터의 길이를 10바이트로 지정

$data = $client->recv(10);



// 수신 데이터를 5초 동안 기다립니다.

$data = $client->recv(0, 5);



예제: 서버와 클라이언트 통신


#hostingforum.kr
php

// 서버

use SwooleCoroutine;



Coroutine::create(function () {

    $server = new SwooleCoroutineServer('127.0.0.1', 9501, SWOOLE_SOCK_TCP);

    $server->set([

        'worker_num' => 1,

    ]);



    $server->on('receive', function ($server, $fd, $from_id, $data) {

        echo "서버가 수신 데이터: $data
";

        $server->send($fd, "서버가 전송하는 데이터");

    });



    $server->start();

});



// 클라이언트

use SwooleCoroutineClient;



Coroutine::create(function () {

    $client = new Client(SWOOLE_SOCK_TCP);

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



    // 서버로부터 데이터 수신

    $data = $client->recv();



    // 데이터 출력

    echo "수신 데이터: $data
";



    // 서버에 데이터 전송

    $client->send("클라이언트가 전송하는 데이터");



    // 클라이언트 종료

    $client->close();

});



이 예제에서는 서버와 클라이언트가 통신하는 예제입니다. 서버는 클라이언트로부터 데이터를 수신하고, 클라이언트는 서버로부터 데이터를 수신합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 104 페이지

검색

게시물 검색