
ZMQPoll::poll 함수의 timeout 매개변수에 0을 지정하면, 함수는 즉시 반환되며, poll 함수가 반환된 후, 이벤트를 처리하는 로직은 다음과 같이 작성할 수 있습니다.
1. poll 함수가 반환된 후, 이벤트를 처리하는 로직은 이벤트를 감지한 소켓을 확인하여, 이벤트를 처리하는 코드를 작성합니다.
2. 이벤트를 처리한 후, 다시 poll 함수를 호출하여, 이벤트를 감지할 수 있도록 합니다.
예를 들어, 다음과 같이 작성할 수 있습니다.
#hostingforum.kr
cpp
// poll 함수를 호출하여 이벤트를 감지합니다.
int rc = zmq_poll(pollfd, 1, 0);
// poll 함수가 반환된 후, 이벤트를 처리하는 로직입니다.
if (rc == 1) {
// 이벤트를 감지한 소켓을 확인하여, 이벤트를 처리하는 코드를 작성합니다.
if (pollfd[0].revents & ZMQ_POLLIN) {
// 이벤트를 처리하는 코드를 작성합니다.
zmq_msg_t msg;
zmq_recv(pollfd[0].fd, &msg, 0);
// 이벤트를 처리하는 코드를 작성합니다.
zmq_msg_close(&msg);
}
}
// 이벤트를 처리한 후, 다시 poll 함수를 호출하여, 이벤트를 감지할 수 있도록 합니다.
rc = zmq_poll(pollfd, 1, 0);
이러한 코드를 통해, poll 함수가 반환된 후, 이벤트를 처리하는 로직을 작성할 수 있으며, 이벤트를 처리한 후, 다시 poll 함수를 호출하여, 이벤트를 감지할 수 있도록 할 수 있습니다.
2025-03-03 12:43