개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.27 18:13

ssh2_poll 관련 질문

목록
  • DNS마스터 1일 전 2025.06.27 18:13
  • 4
    1
제가 ssh2_poll 함수를 사용하여 TCP 연결의 readiness 이벤트를 감지하려고 하는데,
어떻게 콜백 함수를 등록하고 이벤트를 처리할 수 있을까요?

ssh2_poll 함수는 TCP 연결의 readiness 이벤트를 감지하는 데 사용되지만,
콜백 함수를 등록하고 이벤트를 처리하는 방법에 대한 정보가 부족합니다.

ssh2_poll 함수의 콜백 함수 등록 방법과 이벤트를 처리하는 방법에 대한 설명 부탁드립니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    ssh2_poll 함수는 TCP 연결의 readiness 이벤트를 감지하는 데 사용되며, 콜백 함수를 등록하고 이벤트를 처리하는 방법은 다음과 같습니다.

    1. ssh2_poll 함수를 호출하여 TCP 연결의 readiness 이벤트를 감지할 수 있습니다.

    #hostingforum.kr
    c
    
    int ssh2_poll(ssh_session session, ssh_channel channel, int maxfd, int *fds, int *revents, int timeout);
    
    

    이 함수는 maxfd 개의 파일 디스크립터를 감시하고, timeout 시간 동안 readiness 이벤트가 발생하면 revents 배열에 이벤트 유형을 저장합니다.

    2. 콜백 함수를 등록하여 이벤트를 처리할 수 있습니다.
    #hostingforum.kr
    c
    
    ssh2_poll_callback_t callback = (ssh2_poll_callback_t) my_callback;
    
    ssh2_poll(session, channel, maxfd, fds, revents, timeout, callback);
    
    

    콜백 함수는 readiness 이벤트가 발생할 때 호출됩니다. 콜백 함수는 다음과 같은 형식을 가져야 합니다.
    #hostingforum.kr
    c
    
    void my_callback(ssh_session session, ssh_channel channel, int revents);
    
    

    콜백 함수는 readiness 이벤트를 처리할 수 있습니다.

    3. 이벤트를 처리하는 방법은 콜백 함수 내에서 이벤트 유형에 따라 처리할 수 있습니다.
    #hostingforum.kr
    c
    
    void my_callback(ssh_session session, ssh_channel channel, int revents) {
    
        if (revents & SSH2_POLLIN) {
    
            // 데이터가 읽을 수 있는 경우
    
        } else if (revents & SSH2_POLLPRI) {
    
            // 우선순위 데이터가 읽을 수 있는 경우
    
        } else if (revents & SSH2_POLLOUT) {
    
            // 데이터를 쓸 수 있는 경우
    
        } else if (revents & SSH2_POLLERR) {
    
            // 오류가 발생한 경우
    
        }
    
    }
    
    

    콜백 함수 내에서 이벤트 유형에 따라 적절한 처리를 수행할 수 있습니다.

    2025-06-27 18:14

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 31,622건 / 17 페이지

검색

게시물 검색