
SwooleServer::confirm 메소드는 클라이언트의 동의를 받기 위한 메소드입니다. 동의를 받은 후, 클라이언트와 서버가 통신을 하기 위해 다시 connect를 해야하는 이유는 다음과 같습니다.
- SwooleServer::confirm 메소드는 클라이언트의 동의를 받기 위한 메소드이기 때문에, 동의를 받은 후에 클라이언트와 서버가 통신을 하기 위해서는 다시 connect를 해야합니다.
- connect 메소드는 클라이언트와 서버 간의 연결을 초기화하는 메소드입니다. 동의를 받은 후에 connect를 호출하지 않으면, 클라이언트와 서버 간의 연결이 초기화되지 않습니다.
- 따라서, 동의를 받은 후에 바로 통신을 하기 위해서는 다시 connect를 호출해야합니다.
다음은 예제를 통해 설명하겠습니다.
#hostingforum.kr
php
use SwooleHttpServer;
$server = new Server('127.0.0.1', 9501);
$server->on('connect', function ($server, $fd) {
$server->push($fd, '동의를 받으시겠습니까?');
});
$server->on('receive', function ($server, $fd, $fromId, $data) {
if ($data == 'yes') {
$server->push($fd, '동의가 승인되었습니다.');
$server->connect($fd); // connect 메소드를 호출합니다.
} else {
$server->push($fd, '동의가 거부되었습니다.');
}
});
$server->on('close', function ($server, $fd) {
$server->disconnect($fd); // disconnect 메소드를 호출합니다.
});
$server->start();
위 예제에서, 클라이언트가 동의를 받은 후에 connect 메소드를 호출하여 클라이언트와 서버 간의 연결을 초기화합니다.
2025-04-19 04:16