라이브러리

[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 연결은 비동기적으로 작동하므로, 이벤트를 폴링하는 데 사용해야 합니다.
* 폴링 시간을 지정하지 않으면, 즉시 폴링을 수행합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 196 페이지

검색

게시물 검색