EPOLL (EPOLLIN | EPOLLOUT | EPOLLET |EPOLLONESHOT) 고성능 소켓서버 실무
서버구현 저번에 예고한(?) 대로 대충,EPOLL로 윈도우즈의 IOCP 와 거의 비슷한 구조로 이벤트 기반 소켓을 구현하였으며, 여기에 DB POOL,또 클라이언트 요청업무(비즈니스로직)를 담당할 Worker Thread Pool,패킷 구분을 위한 Tokenizer,MYSQL을 이용하기 위한 인터페이스 Class 인 MySQLDB(윈도우즈에서 메신저 서버에서 사용하던 것을 뮤텍스 추가하여 코드 재활용),트레이스 로그,conf 환경설정 읽기,EPOLL은 IN,OUT(Incomming,Outgoing) 데이타를 모두 이벤트로 처리하였으며, Outgoing시에는 단일버퍼 큐에 모두 쌓아놓고 무조건 꺼내서 읽는것이 아니라,패킷 구조상 끊어서 보내야 하기 때문에, 좀더 구조적으로 하기위해 PostSend()에서 ..
2011. 2. 12.