지난번에 멀티 스레드 채팅 서버를 만든 적이 있다. (궁금하면 여기를 참고) 이번 포스팅은 멀티 프로세스 채팅 서버를 C로 구현해봤다. (사실 친구의 수업에서 진행하는 프로젝트인데 재미있어 보여서 따라 했다.) C언어 + fork의 조합 때문에 전체적인 코드가 길어지기 때문에 주요 로직에 대해서만 정리를 해야겠다. 서버 코드 서버의 코드에서 사용한 공유 메모리 종류이다. 전체적인 채팅 알고리즘을 아래와 같이 설계했다. - 메세지 헤더, 메세지 유저, 메세지 데이터에 해당하는 공유메모리 영역을 선언한다. - 메세지 헤더에는 현재 메세지의 번호가 담기며, 코드를 실행하면 0으로 초기화된다. - 메인 코드 : 클라이언트 들의 접속을 허가하고 fork를 통해 채팅 알고리즘을 수행하는 프로세스를 생성한다. - 채..