현재 C언어로, solaris 환경에서 개발중인 프로젝트가 하나 있는데, UDP,TCP 를 모두 지원해야하는 프로세스입니다.
대략적으로 기능을 말씀드리자면, 동일한 일을 수행하는 쓰레드가 여러개 실행이 되고, 각 쓰레드가 하는 일은 다음과 같습니다.
===================================================================================================
udp,tcp 소켓에 대한 read이벤트 등록 ( libevent 사용 )
while(1){
polling : UDP, TCP 의 소켓 디스크립터에 대한 'read 이벤트'에 대한 폴링 ( libevent 사용 )
accept : listen 하고 있는 TCP 소켓에 read 이벤트가 감지되면, accept 후 연결소켓생성, 새로 생성된 소켓에 대한 read 이벤트 등록.
read(fd,....) : read 이벤트가 인지된 소켓에 대해서, 데이터 읽기