
SwooleClient::pipe를 사용하여 클라이언트 간에 데이터를 전송하는 경우, 서버는 데이터를 받을 수 있습니다.
클라이언트에서 pipe로 데이터를 전송하는 코드는 다음과 같습니다.
#hostingforum.kr
php
$client = new SwooleClient(SWOOLE_SOCK_TCP);
$client->connect('127.0.0.1', 9501);
$pipe = $client->getPipe();
$client->send('Hello, Server!');
서버에서 데이터를 받을 수 있는 방법은 다음과 같습니다.
#hostingforum.kr
php
$server = new SwooleServer('127.0.0.1', 9501);
$server->on('Connect', function ($server, $fd) {
echo "Client: Connect.n";
});
$server->on('PipeMessage', function ($server, $fd, $data) {
echo "Server: Receive data: $datan";
});
$server->on('Close', function ($server, $fd) {
echo "Client: Close.n";
});
$server->start();
위 코드에서 pipe로 데이터를 전송했을 때, 서버는 데이터를 받을 수 있습니다.
Swoole 4.x 버전부터는 'PipeMessage' 이벤트가 추가되어 pipe로 데이터를 전송할 때, 서버에서 데이터를 받을 수 있습니다.
이벤트 핸들러에서 $data 변수에 클라이언트에서 전송한 데이터가 저장되어 있습니다.
이러한 코드를 사용하면 클라이언트 간에 데이터를 전송할 수 있습니다.
2025-04-13 18:54