epoll을 사용하여 약 20 ~ 30 개의 소켓을 관리하고 있습니다. epoll_wait는 소켓 중 하나를 통해 도착할 데이터를 기다리는 데 사용할 수 있지만 소켓 레벨에서 시간 제한을 구현하는 방법은 무엇인지 알 수 없습니다. epoll_wait에서 타임 아웃을 사용할 수는 있지만 내 경우에는별로 유용하지 않습니다. 예를 들어, 500ms 이상 동안 활동이 기록되지 않은 모든 소켓을 닫을 필요가 있다면 orr은 200ms마다 어떤 데이터를 소켓으로 보낼 수 있습니다. epoll을 사용하여 소켓 레벨 타임 아웃을 어떻게 구현할 수 있습니까? 모든 제안과 아이디어는 인정 될 것입니다!epoll 및 제한 시간
감사합니다, 당신이 (그래서 BTW libev 살펴있는 경우) 이벤트 루프를 작성하려는처럼 Shivam Kalra
답장을 보내 주셔서 감사합니다. 하지만, 매우 짧은 시간 동안 epoll 대기 상태로 비활성 점검을 사용할 수 있다면 약 10ms가 걸릴지 궁금합니다. select + inactivity chec보다 성능이 향상 되었습니까? – Shivam
의존할수록 더 많이 소비하는 CPU를 깨울 수 있습니다. 또한 밀리 초마다 깨우려면 1000 HZ 커널이 필요합니다. 앞서 말했듯이, 나는 상황에 최적화 된 의존성 (dependency)의 가격으로 준비된 이벤트 루프 (libev 또는 libevent와 같은)를 제안한다. – hroptatyr