1.1 EPOLLIN
- EPOLLIN은 읽기 가능(데이터를 읽을 준비가 됨)을 나타냅니다.
- 즉, 클라이언트 소켓에 읽을 데이터가 있을 때 해당 이벤트를 트리거합니다.
1.2 EPOLLET (Edge-Triggered 모드)
- EPOLLET은 Edge-Triggered 모드를 활성화합니다.
- 기본적으로 epoll은 Level-Triggered(수준 트리거) 방식입니다. 이 방식에서는 이벤트가 발생한 상태가 유지되면 계속 이벤트가 발생합니다.
- Edge-Triggered 방식은 이벤트가 발생했을 때 한 번만 트리거되며, 이후 데이터가 다 처리되지 않아도 다시 이벤트를 발생시키지 않습니다.
비교:
Level-TriggeredEdge-Triggered
| 데이터가 남아있으면 반복적으로 이벤트 발생 | 새 데이터가 들어왔을 때 한 번만 이벤트 발생 |
| 사용이 간단하지만, 성능이 낮을 수 있음 | 더 높은 성능, 추가적인 비동기 처리가 필요 |
사용 이유
- EPOLLET을 사용하면 고성능 서버를 구현할 때 유리합니다. 하지만 개발자가 소켓을 제대로 비우지 않으면 데이터가 손실될 위험이 있으므로, 추가적인 비동기 처리 로직이 필요합니다.

이런식으로 사용할 수 있다.
'개인공부 > 네트워크' 카테고리의 다른 글
| TCP/IP 의 송수신 원리 한눈에 (0) | 2025.01.28 |
|---|---|
| epoll 의 EAGAIN (0) | 2025.01.23 |
| epoll vs 멀티스레딩 (0) | 2025.01.23 |
| DPDK 패킷 처리 (0) | 2025.01.22 |
| Low Latency 최적화 (0) | 2025.01.22 |