2016년 2월 19일 금요일

Chatting Program using EPOLL


  • Level Trigger Method



  • Edge Trigger Method


  • Test
if you compile 'chat_clnt.c', you will input 'gcc chat_clnt.c -D_REENTRANT -o c -lpthread'.
-D_REENTRANT is automatically turn funtion designated POSIX standard to safety function about thread.
-lpthread is POSIX pthread library linking option.
I will be posting Server & Client based on Thread next.

Source Code

댓글 3개:

  1. 안녕하세요 소켓 프로그래밍 공부하는 학생입니다! 소스코드 보고 궁금한 게 생겨서 질문 드립니다.

    client를 thread 기반으로 짜셨는데 epoll이나 select로 짜는 거에 비해서 어떤 장점이 있는지 궁금합니다 ㅎㅎ!

    답글삭제
  2. epoll, select은 IO Multiplexing을 구현하기 위한 시스템 호출이에요. 다중 client를 효율적으로 처리하기 위한 server를 구현할 때 사용되죠. 굳이 client에서 epoll, select를 쓸려는 이유가 무엇인가요?

    답글삭제
  3. 안녕하세요. epoll 기반의 다중클라이언트에 대한 채팅 서버를 구현하려고 하는데 클라이언트간의 메시지 송수신 이전에 로그인 기능을 추가하려고 합니다. 그러면 쓰레드를 여러개 생성해서 하나의 쓰레드는 클라이언트들의 로그인을 관리하고 다른 쓰레드는 클라이언트의 메시지 송수신을 관리하는 역할을 하게 구현 하면 될까요? 그리고 그 쓰레드 안에서 epoll을 기반으로 클라이언트의 요청을 처리해주면 될까요?

    답글삭제