라이브러리
[PHP] ssh2_poll - 이벤트에 대한 채널/리스너/스트림 폴링
SSH2_poll
================
SSH2_poll은 PHP의 ssh2扩展에서 제공하는 함수로, SSH 연결에 대한 이벤트를 폴링하는 데 사용됩니다. SSH 연결은 비동기적으로 작동하므로, 연결 상태를 확인하고 이벤트를 처리하는 데 사용됩니다.
사용 방법
------------
SSH2_poll 함수는 다음과 같은 형식으로 사용됩니다.
#hostingforum.kr
php
ssh2_poll($resource, $events, $timeout)
* `$resource`: SSH 연결 리소스입니다.
* `$events`: 이벤트를 폴링할 목록입니다. 목록의 각 항목은 이벤트를 나타내며, 다음과 같은 값이 가능합니다.
* SSH2_POLLIN: 읽기 이벤트
* SSH2_POLLOUT: 쓰기 이벤트
* SSH2_POLLHUP: 연결이 끊어졌을 때
* SSH2_POLLERR: 오류가 발생했을 때
* `$timeout`: 폴링 시간입니다. 0을 지정하면 즉시 폴링을 수행합니다.
예제
------
다음 예제는 SSH 연결에 대한 읽기 이벤트를 폴링하는 코드입니다.
#hostingforum.kr
php
<?php
// SSH 연결을 생성합니다.
$ssh = ssh2_connect('example.com', 22);
ssh2_auth_password($ssh, 'username', 'password');
// 읽기 이벤트를 폴링합니다.
$events = array(SSH2_POLLIN);
$timeout = 5; // 5초 동안 폴링합니다.
while (true) {
$result = ssh2_poll($ssh, $events, $timeout);
if ($result) {
// 읽기 이벤트가 발생했습니다.
$data = ssh2_recv($ssh);
echo "Received data: $data
";
} else {
// 폴링 시간이 초과했습니다.
echo "Timeout
";
break;
}
}
// SSH 연결을 종료합니다.
ssh2_disconnect($ssh);
?>
예제 설명
--------------
이 예제는 SSH 연결에 대한 읽기 이벤트를 폴링합니다. `ssh2_poll` 함수를 호출하여 읽기 이벤트를 폴링하고, 폴링 결과를 확인합니다. 폴링 결과가 `true`이면 읽기 이벤트가 발생했으며, 데이터를 받을 수 있습니다. 폴링 결과가 `false`이면 폴링 시간이 초과했으며, 루프를 종료합니다.
참고
------
* SSH2_poll 함수는 PHP 5.3 이상에서 사용할 수 있습니다.
* SSH 연결은 비동기적으로 작동하므로, 이벤트를 폴링하는 데 사용해야 합니다.
* 폴링 시간을 지정하지 않으면, 즉시 폴링을 수행합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.